[dpdk-stable] patch 'vhost: remove zero-copy and client mode restriction' has been queued to stable release 19.11.4

luca.boccassi at gmail.com luca.boccassi at gmail.com
Fri Jul 24 13:57:19 CEST 2020


Hi,

FYI, your patch has been queued to stable release 19.11.4

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 07/26/20. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Luca Boccassi

---
>From 2819f713763a3796cfc05962770e3c813e459ecf Mon Sep 17 00:00:00 2001
From: Kevin Traynor <ktraynor at redhat.com>
Date: Wed, 1 Jul 2020 14:53:05 +0100
Subject: [PATCH] vhost: remove zero-copy and client mode restriction

Commits [1] were backported as fixes from the latest DPDK release
to the stable branches. They are detecting if vhost-user client and
zero-copy are being used together. As this can be problematic in
some cases, this combination was being rejected by those patches.

It might be ok to deprecate this combination in latest DPDK,
but for stable releases we should not remove the functionality
as it may be in use with earlier releases from the same stable branch.

In fact, we know that this functionality is used at least in OVS in
multiple releases/active branches.

This patch removes the restriction of zero-copy and client mode
and adds a warning for the user.

[1]
commit a6ae060e3995
("vhost: prevent zero-copy with incompatible client mode")

commit 1c2eaf9a9852
("vhost: fix zero-copy server mode")

Signed-off-by: Kevin Traynor <ktraynor at redhat.com>
Acked-by: Luca Boccassi <bluca at debian.org>
---
 lib/librte_vhost/socket.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c
index 2461549fe..dc3ee1e99 100644
--- a/lib/librte_vhost/socket.c
+++ b/lib/librte_vhost/socket.c
@@ -926,12 +926,10 @@ rte_vhost_driver_register(const char *path, uint64_t flags)
 			ret = -1;
 			goto out_mutex;
 		}
-		if ((flags & RTE_VHOST_USER_CLIENT) != 0) {
-			RTE_LOG(ERR, VHOST_CONFIG,
-			"error: zero copy is incompatible with vhost client mode\n");
-			ret = -1;
-			goto out_mutex;
-		}
+		if ((flags & RTE_VHOST_USER_CLIENT) != 0)
+			RTE_LOG(WARNING, VHOST_CONFIG,
+			"zero copy may be incompatible with vhost client mode\n");
+
 		vsocket->supported_features &= ~(1ULL << VIRTIO_F_IN_ORDER);
 		vsocket->features &= ~(1ULL << VIRTIO_F_IN_ORDER);
 
-- 
2.20.1



More information about the stable mailing list