On Tue, Sep 08, 2015 at 03:22:30PM -0600, Eric Blake wrote: > On 09/08/2015 01:38 AM, Yuanhan Liu wrote: > > From: Ouyang Changchun <changchun.ouy...@intel.com> > > > > This patch is initially based a patch from Nikolay Nikolaev. > > > > Here is the latest version for adding vhost-user multiple queue support, > > by creating a nc and vhost_net pair for each queue. > > > > Reviewing grammar and interface only:
Thanks, and will fix them in next patch. --yliu > > > +++ b/docs/specs/vhost-user.txt > > @@ -135,6 +135,19 @@ As older slaves don't support negotiating protocol > > features, > > a feature bit was dedicated for this purpose: > > #define VHOST_USER_F_PROTOCOL_FEATURES 30 > > > > +Multiple queue support > > +------------------- > > +Multiple queue is treated as a protocal extension, hence the slave has to > > s/protocal/protocol/ > > > +implement protocol features first. Multiple queues is supported only when > > +the protocol feature VHOST_USER_PROTOCOL_F_MQ(bit 0) is set. > > + > > +The max # of queues the slave support can be queried with message > > s/#/number/ > s/support/supports/ > > > +VHOST_USER_GET_PROTOCOL_FEATURES. Master should stop when the # of > > requested > > s/#/number/ > > > +queues is bigger than that. > > + > > +As all queues share one connection, the master use a unique index for each > > s/use/uses/ > > > +queue in the sent message to identify one specified queue. > > + > > > +++ b/qapi-schema.json > > @@ -2480,12 +2480,16 @@ > > # > > # @vhostforce: #optional vhost on for non-MSIX virtio guests (default: > > false). > > # > > +# @queues: #optional number of queues to be created for multiqueue > > vhost-user > > +# (default: 1) (Since 2.5) > > +# > > # Since 2.1 > > ## > > { 'struct': 'NetdevVhostUserOptions', > > 'data': { > > 'chardev': 'str', > > - '*vhostforce': 'bool' } } > > + '*vhostforce': 'bool', > > + '*queues': 'int' } } > > Looks okay. > > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org >