[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <05C28F0C-5D8C-4A77-8D1B-FAC91DCF1115@amacapital.net>
Date: Thu, 1 Aug 2019 10:02:38 -0700
From: Andy Lutomirski <luto@...capital.net>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Thomas Gleixner <tglx@...utronix.de>,
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 Aug 1, 2019, at 7:48 AM, Peter Zijlstra <peterz@...radead.org> 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?
Me too. Also, why is a loop needed?
>
>> +}
>> +EXPORT_SYMBOL_GPL(tracehook_handle_notify_resume);
>> +#endif
>>
>>
Powered by blists - more mailing lists