Re: [PATCH] KVM: Use IRQF_ONESHOT for assigned device MSIinterrupts

From: Thomas Gleixner
Date: Mon Jun 04 2012 - 09:22:50 EST


On Mon, 4 Jun 2012, Jan Kiszka wrote:

> On 2012-06-04 15:07, Thomas Gleixner wrote:
> > On Mon, 4 Jun 2012, Jan Kiszka wrote:
> >> On 2012-06-04 13:21, Thomas Gleixner wrote:
> >> So this shortcut requires some checks before being applied to a specific
> >> MSI/MSI-X vector.
> >>
> >>
> >> Taking KVM aside, my general question remains if threaded MSI handlers
> >> of all devices really need to apply IRQF_ONESHOT though they should have
> >> no use for it.
> >
> > In theory no, but we had more than one incident, where threaded irqs
> > w/o a primary handler and w/o IRQF_ONEHSOT lead to full system
> > starvation. Linus requested this sanity check and I think it's sane
> > and required.
>
> OK.
>
> >
> > In fact it's a non issue for MSI. MSI uses handle_edge_irq which does
> > not mask the interrupt. IRQF_ONESHOT is a noop for that flow handler.
>
> Isn't irq_finalize_oneshot processes for all flows?

Right, forgot about that. The only way we can avoid that, is that we
get a hint from the underlying irq chip/ handler setup with an extra
flag to tell the core, that it's safe to avoid the ONESHOT/finalize
magic.

Thanks,

tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/