Re: [PATCH] xen: use the trigger info we already have to choose theirq handler

From: Konrad Rzeszutek Wilk
Date: Wed May 25 2011 - 10:25:50 EST


On Wed, May 25, 2011 at 12:33:23PM +0100, Stefano Stabellini wrote:
> Do not use pirq_needs_eoi to decide which irq handler to use because Xen
> always returns true if the guest does not support pirq_eoi_map.
> Use the trigger information we already have from MP-tables and ACPI.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> Reported-by: Thomas Goetz <tcgoetz@xxxxxxxxx>
> Tested-by: Thomas Goetz <tcgoetz@xxxxxxxxx>

Tom,

Do you prefer those email addresses or tom.goetz@xxxxxxxxxxxxxxxxxxx ?
..
> - if (pirq_needs_eoi(irq))
> + if (shareable)

Ok, so for dom0, the sharable flag is determined by the ACPI parsing.. good.
And for MSI/MSI-X we use xen_bind_pirq_msi_to_irq which sets it to use handle_edge_irq.

The only hazard which you asked me on IRC is for PV guests with Xen PCI front.
In those cases, we have no idea whether the "GSI" IRQ is edge or level and we
just assume that anything under 16 is edge. Which is 99% right, except if you
are to pass in the ACPI IRQ to the guest, or some other weird creature. The MSI/MSI-X
part of the PCI front are OK too - they use the xen_bind_pirq_msi_to_irq call.

So, putting on the todo list an extension to the PCI PV protocol to pass information
about the GSI's - whether they are edge or level.

Patch is on the 2.6.40-rc1 train.
--
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/