[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.1908011708500.1725@nanos.tec.linutronix.de>
Date: Thu, 1 Aug 2019 17:10:35 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Peter Zijlstra <peterz@...radead.org>
cc: LKML <linux-kernel@...r.kernel.org>, x86@...nel.org,
Ingo Molnar <mingo@...nel.org>,
Sebastian Siewior <bigeasy@...utronix.de>,
Anna-Maria Gleixner <anna-maria@...utronix.de>,
Steven Rostedt <rostedt@...dmis.org>,
Julia Cartwright <julia@...com>,
Paul McKenney <paulmck@...ux.vnet.ibm.com>,
Frederic Weisbecker <fweisbec@...il.com>,
Oleg Nesterov <oleg@...hat.com>, kvm@...r.kernel.org,
Radim Krcmar <rkrcmar@...hat.com>,
Paolo Bonzini <pbonzini@...hat.com>,
John Stultz <john.stultz@...aro.org>,
Andy Lutomirski <luto@...nel.org>,
"Paul E. McKenney" <paulmck@...ux.ibm.com>
Subject: Re: [patch 1/5] tracehook: Provide TIF_NOTIFY_RESUME handling for
KVM
On Thu, 1 Aug 2019, Peter Zijlstra wrote:
> On Thu, Aug 01, 2019 at 04:32:51PM +0200, Thomas Gleixner wrote:
> > +#ifdef CONFIG_HAVE_ARCH_TRACEHOOK
> > +/**
> > + * tracehook_handle_notify_resume - Notify resume handling for virt
> > + *
> > + * Called with interrupts and preemption enabled from VMENTER/EXIT.
> > + */
> > +void tracehook_handle_notify_resume(void)
> > +{
> > + local_irq_disable();
> > + while (test_and_clear_thread_flag(TIF_NOTIFY_RESUME)) {
> > + local_irq_enable();
> > + tracehook_notify_resume(NULL);
> > + local_irq_disable();
> > + }
> > + local_irq_enable();
>
> I'm confused by the IRQ state swizzling here, what is it doing?
Hmm, right. It's not really needed. Modeled it after the user space return
code, but the KVM case is different because it evaluates the TIF bit again
before entering the VM with interrupts disabled anyway.
I'll remove the brainfart in V2.
Thanks,
tglx
Powered by blists - more mailing lists