Re: [net-next rfc v7 2/3] virtio_net: multiqueue support

Jason Wang
2012-12-04T09:27:36Z

On Tuesday, December 04, 2012 09:35:03 AM Michael S. Tsirkin wrote:
> On Mon, Dec 03, 2012 at 06:30:49PM +0800, Jason Wang wrote:
> > On 12/03/2012 06:14 PM, Michael S. Tsirkin wrote:
> > > On Tue, Nov 27, 2012 at 06:15:59PM +0800, Jason Wang wrote:
> > >> > - if (!try_fill_recv(&vi->rq, GFP_KERNEL))
> > >> > - schedule_delayed_work(&vi->rq.refill, 0);
> > >> > + for (i = 0; i < vi->max_queue_pairs; i++)
> > >> > + if (!try_fill_recv(&vi->rq[i], GFP_KERNEL))
> > >> > + schedule_delayed_work(&vi->rq[i].refill, 0);
> > >> >
> > >> > mutex_lock(&vi->config_lock);
> > >> > vi->config_enable = true;
> > >> > mutex_unlock(&vi->config_lock);
> > >> >
> > >> > + BUG_ON(virtnet_set_queues(vi));
> > >> > +
> > >> >
> > >> > return 0;
> > >> >
> > >> > }
> > >> > #endif
> > >
> > > Also crashing on device nack of command is also not nice.
> > > In this case it seems we can just switch to
> > > single-queue mode which should always be safe.
> >
> > Not sure it's safe. It depends on the reason why this call fails. If we
> > left a state that the driver only use single queue but the device use
> > multi queues, we may still lost the network.
>
> Looks like we won't: napi will stay enabled on all queues
> so we will process incoming packets.

True, consider there's no bug in qemu. Will leave a just leave a warning in
next version.

Thanks