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?

> +}
> +EXPORT_SYMBOL_GPL(tracehook_handle_notify_resume);
> +#endif
> 
> 

Reply via email to