Re: [patch 1/5] tracehook: Provide TIF_NOTIFY_RESUME handling for KVM
From: Thomas Gleixner
Date: Thu Aug 01 2019 - 11:11:00 EST
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