[dpdk-dev] [PATCH v3] net/virtio-user: fix multiple queues fail in server mode

Yang, Zhiyong zhiyong.yang at intel.com
Fri May 11 05:01:22 CEST 2018



> -----Original Message-----
> From: Bie, Tiwei
> Sent: Friday, May 11, 2018 10:50 AM
> To: Yang, Zhiyong <zhiyong.yang at intel.com>
> Cc: dev at dpdk.org; Yigit, Ferruh <ferruh.yigit at intel.com>;
> maxime.coquelin at redhat.com; stable at dpdk.org
> Subject: Re: [PATCH v3] net/virtio-user: fix multiple queues fail in server
> mode
> 
> On Fri, May 11, 2018 at 10:12:47AM +0800, zhiyong.yang at intel.com wrote:
> [...]
> > @@ -447,11 +447,17 @@ virtio_user_handle_mq(struct virtio_user_dev
> *dev, uint16_t q_pairs)
> >  		return -1;
> >  	}
> >
> > -	for (i = 0; i < q_pairs; ++i)
> > -		ret |= dev->ops->enable_qp(dev, i, 1);
> > -	for (i = q_pairs; i < dev->max_queue_pairs; ++i)
> > -		ret |= dev->ops->enable_qp(dev, i, 0);
> > -
> > +	/* Server mode can't enable queue pairs if vhostfd is invalid,
> > +	 * always return 0 in this case.
> > +	 */
> > +	if (dev->vhostfd >= 0)  {
> 
> There are two spaces between ')' and '{'.
> 
> > +		for (i = 0; i < q_pairs; ++i)
> > +			ret |= dev->ops->enable_qp(dev, i, 1);
> > +		for (i = q_pairs; i < dev->max_queue_pairs; ++i)
> > +			ret |= dev->ops->enable_qp(dev, i, 0);
> > +	} else if (!dev->is_server) {
> > +		ret = ~0;
> > +	}
> >  	dev->queue_pairs = q_pairs;
> >
> >  	return ret;
> [...]
> > @@ -37,6 +38,25 @@ virtio_user_server_reconnect(struct virtio_user_dev
> *dev)
> >  		return -1;
> >
> >  	dev->vhostfd = connectfd;
> > +	if (dev->ops->send_request(dev, VHOST_USER_GET_FEATURES,
> > +				   &dev->device_features) < 0) {
> > +		PMD_INIT_LOG(ERR, "get_features failed: %s",
> > +			     strerror(errno));
> > +		return -1;
> > +	}
> > +
> > +	features &= ~dev->device_features;
> > +	/* For following bits, vhost-user doesn't really need to know */
> > +	features &= ~(1ull << VIRTIO_NET_F_MAC);
> > +	features &= ~(1ull << VIRTIO_NET_F_CTRL_VLAN);
> > +	features &= ~(1ull << VIRTIO_NET_F_CTRL_MAC_ADDR);
> > +	features &= ~(1ull << VIRTIO_NET_F_STATUS);
> > +	if (features)
> > +		PMD_INIT_LOG(ERR, "WARNING: Some features 0x%"
> PRIx64 "are not supported by vhost-user!",
> 
> A space is missing before "are not ...". Should be: " are not ..."
> 
> 
> Other than above small typos,
> 
> Reviewed-by: Tiwei Bie <tiwei.bie at intel.com>

Thanks Tiwei,  will send a new version to fix the typoes.
Thanks
Zhiyong


More information about the dev mailing list