Re: [Xen-devel] Re: [PATCH 1/5] xen: events: useirq_alloc_desc(_at) instead of open-coding an IRQ allocator.

From: Konrad Rzeszutek Wilk
Date: Tue Oct 26 2010 - 13:09:30 EST


> In that case we should use dynamic allocation for everything. Or try to
> work out distinct irq ranges for different interrupts if you really want
> to keep irq==gsi.

Some little alarm bells are ringing in the back of my head about irq != gsi.

I think the issue was the permission. When a PCI device is allocated to the
PV guest, we do a bunch of xc_* calls to allow the domain to use the BARs
and the IRQ. I believe when the guest boots and tries to map the
event channel with the physical IRQ, one of the arguments is that GSI. And
if we provide a bogus GSI, well, we won't get the INTx to the guest.

As you mentioned, Stefano's patch add a new element to the tuple that can
contain the GSI value. At which point we can make the guest IRQ != GSI,
as long as we can contain the <gsi, event channel> mapping present so
that for the hypercalls we can give it the right GSI.

The MSI/MSI-X use a completly different mechanism that does not all
of this complication, so we are OK with that.

.. snip ..

> d) dynamically allocate all irqs for all event channel types.

<nods> Ok, you sold me on this idea.
--
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/