On Mon, 2018-10-01 at 09:16 +0200, Juergen Gross wrote:
> -       /* If irq pending already clear it and return. */
> +       /* Guard against reentry. */
> +       local_irq_save(flags);
> +
> +       /* If irq pending already clear it. */
>         if (xen_test_irq_pending(irq)) {
>                 xen_clear_irq_pending(irq);
> -               return;
> +       } else if (READ_ONCE(*byte) == val) {
> +               /* Block until irq becomes pending (or a spurious wakeup) */
> +               xen_poll_irq(irq);
>         }


Does this still allow other IRQs to wake it from xen_poll_irq()?

In the case where process-context code is spinning for a lock without
disabling interrupts, we *should* allow interrupts to occur still...
does this?

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to