[dpdk-stable] [PATCH 18.11] vhost: remove zero-copy and client mode restriction
Kevin Traynor
ktraynor at redhat.com
Thu Jul 2 13:57:33 CEST 2020
On 01/07/2020 16:09, Luca Boccassi wrote:
> On Wed, 2020-07-01 at 14:52 +0100, Kevin Traynor wrote:
>> 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 81e025d7ed6a
>> ("vhost: prevent zero-copy with incompatible client mode")
>>
>> commit 0309429b1988
>> ("vhost: fix zero-copy server mode")
>>
>> Signed-off-by: Kevin Traynor <ktraynor at redhat.com>
>> ---
>> Cc: xuan.ding at intel.com
>> ---
>> 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 4819d31737..6f7142be23 100644
>> --- a/lib/librte_vhost/socket.c
>> +++ b/lib/librte_vhost/socket.c
>> @@ -891,10 +891,8 @@ rte_vhost_driver_register(const char *path, uint64_t flags)
>> */
>> if (vsocket->dequeue_zero_copy) {
>> - 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);
>
> Acked-by: Luca Boccassi <bluca at debian.org>
>
Thanks Luca, added some reported-by info and applied.
More information about the stable
mailing list