Re: Unable to create more than 1 guest virtio-net device using vhost-net backend

Sridhar Samudrala
2010-03-22T23:41:14Z

On Mon, 2010-03-22 at 20:16 +0200, Michael S. Tsirkin wrote:
> On Sun, Mar 21, 2010 at 01:58:29PM +0200, Avi Kivity wrote:
> > On 03/21/2010 01:34 PM, Michael S. Tsirkin wrote:
> >> On Sun, Mar 21, 2010 at 12:29:31PM +0200, Avi Kivity wrote:
> >>
> >>> On 03/21/2010 12:15 PM, Michael S. Tsirkin wrote:
> >>>
> >>>>>> Nothing easy that I can see. Each device needs 2 of these. Avi, Gleb,
> >>>>>> any objections to increasing the limit to say 16? That would give us
> >>>>>> 5 more devices to the limit of 6 per guest.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>> Increase it to 200, then.
> >>>>>
> >>>>>
> >>>> OK. I think we'll also need a smarter allocator
> >>>> than bus->dev_count++ than we now have. Right?
> >>>>
> >>>>
> >>> No, why?
> >>>
> >> We'll run into problems if devices are created/removed in random order,
> >> won't we?
> >>
> >
> > unregister_dev() takes care of it.
> >
> >>> Eventually we'll want faster scanning than the linear search we employ
> >>> now, though.
> >>>
> >> Yes I suspect with 200 entries we will :). Let's just make it 16 for
> >> now?
> >>
> >
> > Let's make it 200 and fix the performance problems later. Making it 16
> > is just asking for trouble.
>
> I did this and performance with vhost seems to become much more noisy,
> and drop by about 10% on average, even though in practice only
> a single device is created. Still trying to figure it out ...
> Any idea?

I am not sure if this 10% variation is due to the increase of NR_IO_BUS_DEVS.
In our testing, we do see variations of 10% or higher between multiple netperf
instances with the same setup/configuration when using virtio/vhost.

Thanks
Sridhar