Re: [PATCH] Make virtio devices multi-function

Marcelo Tosatti
2008-04-22T17:26:45Z

On Tue, Apr 22, 2008 at 11:31:11AM -0500, Anthony Liguori wrote:
> 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 should increase the number of interrupt lines, perhaps to 16.

Using shared memory to avoid exits sounds very good idea.

> >>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.

The target was along the lines of 20 nics + 80 disks. Dan?

> >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.

Why do you dislike multiple disks per virtio-blk controller? As
mentioned this seems a natural way forward.