Re: Configuration vs. compat hints [was Re: [Qemu-devel] [PATCHv3 03/13] qemu: add routines to manage PCI capabilities]

Anthony Liguori
2009-06-15T13:51:40Z

Avi Kivity wrote:
> On 06/15/2009 04:23 PM, Anthony Liguori wrote:
>
> How would qemu know which slots to optimize for?
>
> In practice, I don't see that as a real problem. We should (a) add an
> ioapic and four more pci links (b) recommend that slots be assigned in
> ascending order, and everything works.
>
> I don't see your concern about libvirt allocating slots. If a human
> can plug a card into a slot, so can libvirt. Doing an interactive
> back-and-forth (equivalent to plugging a card while blindfolded, then
> looking to see which slot we hit) is certainly more difficult.

Let's take a concrete example because I think you missed my point. For
the r2d board, if you have 1 on-board NIC, it has to go in slot 2.
Additional NICs can go in any slot, but the primary on-board NIC is
expected to live in slot 2. It's possible to not have that on-board NIC.

If you let QEMU allocate which PCI slot a device goes in, we can hide
this detail from libvirt. If you have libvirt do PCI slot allocation by
default, it has to know about this restriction in the r2d board unless
you have a clever way to express this sort of information.

Once QEMU has allocated a device to a slot, libvirt can do a good job
maintaining that relationship.

Regards,

Anthony Liguori