Re: [PATCH] Make virtio devices multi-function

Marcelo Tosatti
2008-04-22T15:36:02Z

On Tue, Apr 22, 2008 at 05:51:51PM +0300, Avi Kivity wrote:
> Anthony Liguori wrote:
> > Avi Kivity wrote:
> >> Anthony Liguori wrote:
> >>
> >>> This patch changes virtio devices to be multi-function devices whenever
> >>> possible. This increases the number of virtio devices we can
> >>> support now by
> >>> a factor of 8.
> >>>
> >>> With this patch, I've been able to launch a guest with either 220
> >>> disks or 220
> >>> network adapters.
> >>>
> >>>
> >>
> >> Does this play well with hotplug? Perhaps we need to allocate a new
> >> device on hotplug.
> >>
> >
> > Probably not. I imagine you can only hotplug devices, not individual
> > functions?
> >
>
> It sounds reasonable to expect so. ACPI has objects for devices, not
> functions (IIRC).

So what I dislike about multifunction devices is the fact that a single
slot shares an IRQ, and that special code is required in the QEMU
drivers (virtio guest capability might not always be present).

I don't see any need for using them if we can extend PCI slots...

> Maybe require explicit device/function assignment on the command line?
> It will be managed anyway.

ACPI does support hotplugging of individual functions inside slots,
not sure how well does Linux (and other OSes) support that.. should be
transparent though.