Re: [PATCH] Make virtio devices multi-function

Anthony Liguori
2008-04-22T16:31:11Z

Avi Kivity wrote:
> Anthony Liguori wrote:
>>
>> I think we need to decide what we want to target in terms of upper
>> limits.
>>
>> With a bridge or two, we can probably easily do 128.
>>
>> If we really want to push things, I think we should do a PCI based
>> virtio controller. I doubt a large number of PCI devices is ever
>> going to perform very well b/c of interrupt sharing and some of the
>> assumptions in virtio_pci.
>>
>> If we implement a controller, we can use a single interrupt, but
>> multiplex multiple notifications on that single interrupt. We can
>> also be more aggressive about using shared memory instead of PCI
>> config space which would reduce the overall number of exits.
>>
>> We could easily support a very large number of devices this way. But
>> again, what do we want to target for now?
>
> I think that for networking we should keep things as is. I don't see
> anybody using 100 virtual NICs.
>
> For mass storage, we should follow the SCSI model with a single device
> serving multiple disks, similar to what you suggest. Not sure if the
> device should have a single queue or one queue per disk.

My latest thought it to do a virtio-based virtio controller.

We could avoid creating one in QEMU unless we detect an abnormally large
number of disks or something.

Regards,

Anthony Liguori