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

Anthony Liguori
2009-06-15T13:23:33Z

Avi Kivity wrote:
> On 06/15/2009 03:52 PM, Anthony Liguori wrote:
>> Avi Kivity wrote:
>>> On 06/15/2009 03:41 PM, Michael S. Tsirkin wrote:
>>>> We should just tell the user which slots are open.
>>>> This might be tricky if the config is passed in with the command
>>>> line
>>>> flags.
>>>
>>> qemu -show-available-pci-slots
>>
>> Why does the user care?
>>
>> Let QEMU allocate the PCI slot, then query it to see what slot it
>> assigned and remember that.
>
> It's a roundabout way of doing things.

Having libvirt do PCI slot allocation scares me. It assumes we can
return a whitelist of available slots, and then let libvirt just
randomly assign things. There's knowledge though in slot assignment
that's board-specific. For instance, depending on how many LNK lines
you have, you may want to put things in slots in such a way to optimize
interrupt balancing or something like that.

Some platforms have quirks about expecting a particular slot to have a
particular device. It's still an optimal device but it has to be in
that slot. You can't really express that via an available slot list.

> Non-virtio, as well. But we can't make that the default, so the user
> will have to specify this anyway.
>
> Given that you can't hotunplug individual functions, the user will
> have to specify exactly how functions are aggregated into devices. My
> recommendation would be for a GUI to allow the user to select a 'quad
> port virtio NIC' or 'dual port virtio scsi controller' rather than
> trying to do anything automatic.

Yeah, I haven't thought much about that.

Regards,

Anthony Liguori