[dpdk-dev,v2,2/2] vhost: fix max queues
Checks
Commit Message
0x8000 is the max virito-net queue pairs the virtio 1.0 spec claims to
support. While for vhost-user, it's a different story: the max vring
index could be passed by the vhost-user spec is 0xff, masked by the
VHOST_USER_VRING_IDX_MASK.
That said, the max queue pairs could vhost-user could supported is 0x80.
If user are asking more, I think the vhost-user need be extended.
Fixes: b09b198bfb5c ("vhost-user: announce queue number in message")
Cc: stable@dpdk.org
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
lib/librte_vhost/vhost.h | 15 +++------------
1 file changed, 3 insertions(+), 12 deletions(-)
Comments
On Wed, Mar 01, 2017 at 06:41:59PM +0800, Yuanhan Liu wrote:
> 0x8000 is the max virito-net queue pairs the virtio 1.0 spec claims to
> support. While for vhost-user, it's a different story: the max vring
> index could be passed by the vhost-user spec is 0xff, masked by the
> VHOST_USER_VRING_IDX_MASK.
>
> That said, the max queue pairs could vhost-user could supported is 0x80.
> If user are asking more, I think the vhost-user need be extended.
>
> Fixes: b09b198bfb5c ("vhost-user: announce queue number in message")
>
> Cc: stable@dpdk.org
> Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Both applied to dpdk-next-virtio.
--yliu
@@ -110,24 +110,15 @@ struct vhost_virtqueue {
uint16_t shadow_used_idx;
} __rte_cache_aligned;
-/* Old kernels have no such macro defined */
+/* Old kernels have no such macros defined */
#ifndef VIRTIO_NET_F_GUEST_ANNOUNCE
#define VIRTIO_NET_F_GUEST_ANNOUNCE 21
#endif
-
-/*
- * Make an extra wrapper for VIRTIO_NET_F_MQ and
- * VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX as they are
- * introduced since kernel v3.8. This makes our
- * code buildable for older kernel.
- */
-#ifdef VIRTIO_NET_F_MQ
- #define VHOST_MAX_QUEUE_PAIRS VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX
-#else
+#ifndef VIRTIO_NET_F_MQ
#define VIRTIO_NET_F_MQ 22
- #define VHOST_MAX_QUEUE_PAIRS 0x8000
#endif
+#define VHOST_MAX_QUEUE_PAIRS 0x80
/*
* Define virtio 1.0 for older kernels