DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] vhost: zero_copy incompatible with client mode
@ 2020-04-29  2:59 Xuan Ding
  2020-04-29  8:33 ` Wang, Yinan
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Xuan Ding @ 2020-04-29  2:59 UTC (permalink / raw)
  To: maxime.coquelin, zhihong.wang, xiaolong.ye; +Cc: dev, Xuan Ding

In server mode, virtio-user inits under the assumption that vhost-user
supports a list of features. However, this could be problematic when
in_order feature is negotiated but not supported by vhost-user when
enables dequeue_zero_copy later.

Add handling when vhost-user enables dequeue_zero_copy as client.

Signed-off-by: Xuan Ding <xuan.ding@intel.com>
---
 lib/librte_vhost/socket.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c
index 7c8012179..bb8d0d780 100644
--- a/lib/librte_vhost/socket.c
+++ b/lib/librte_vhost/socket.c
@@ -926,6 +926,12 @@ rte_vhost_driver_register(const char *path, uint64_t flags)
 			ret = -1;
 			goto out_mutex;
 		}
+		if (!vsocket->is_server) {
+			VHOST_LOG_CONFIG(ERR,
+			"error: zero copy is incompatible with vhost client mode\n");
+			ret = -1;
+			goto out_mutex;
+		}
 		vsocket->supported_features &= ~(1ULL << VIRTIO_F_IN_ORDER);
 		vsocket->features &= ~(1ULL << VIRTIO_F_IN_ORDER);
 
-- 
2.17.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [PATCH] vhost: zero_copy incompatible with client mode
  2020-04-29  2:59 [dpdk-dev] [PATCH] vhost: zero_copy incompatible with client mode Xuan Ding
@ 2020-04-29  8:33 ` Wang, Yinan
  2020-04-29  8:46   ` Maxime Coquelin
  2020-04-29 11:48 ` Maxime Coquelin
  2020-04-30  8:13 ` Maxime Coquelin
  2 siblings, 1 reply; 5+ messages in thread
From: Wang, Yinan @ 2020-04-29  8:33 UTC (permalink / raw)
  To: Ding, Xuan, maxime.coquelin, Wang, Zhihong, Ye, Xiaolong; +Cc: dev, Ding, Xuan

Tested-by: Yinan Wang <yinan.wang@intel.com>

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Xuan Ding
> Sent: 2020年4月29日 11:00
> To: maxime.coquelin@redhat.com; Wang, Zhihong <zhihong.wang@intel.com>;
> Ye, Xiaolong <xiaolong.ye@intel.com>
> Cc: dev@dpdk.org; Ding, Xuan <xuan.ding@intel.com>
> Subject: [dpdk-dev] [PATCH] vhost: zero_copy incompatible with client mode
> 
> In server mode, virtio-user inits under the assumption that vhost-user supports a
> list of features. However, this could be problematic when in_order feature is
> negotiated but not supported by vhost-user when enables dequeue_zero_copy
> later.
> 
> Add handling when vhost-user enables dequeue_zero_copy as client.
> 
> Signed-off-by: Xuan Ding <xuan.ding@intel.com>
> ---
>  lib/librte_vhost/socket.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c index
> 7c8012179..bb8d0d780 100644
> --- a/lib/librte_vhost/socket.c
> +++ b/lib/librte_vhost/socket.c
> @@ -926,6 +926,12 @@ rte_vhost_driver_register(const char *path, uint64_t
> flags)
>  			ret = -1;
>  			goto out_mutex;
>  		}
> +		if (!vsocket->is_server) {
> +			VHOST_LOG_CONFIG(ERR,
> +			"error: zero copy is incompatible with vhost client
> mode\n");
> +			ret = -1;
> +			goto out_mutex;
> +		}
>  		vsocket->supported_features &= ~(1ULL <<
> VIRTIO_F_IN_ORDER);
>  		vsocket->features &= ~(1ULL << VIRTIO_F_IN_ORDER);
> 
> --
> 2.17.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [PATCH] vhost: zero_copy incompatible with client mode
  2020-04-29  8:33 ` Wang, Yinan
@ 2020-04-29  8:46   ` Maxime Coquelin
  0 siblings, 0 replies; 5+ messages in thread
From: Maxime Coquelin @ 2020-04-29  8:46 UTC (permalink / raw)
  To: Wang, Yinan, Ding, Xuan, Wang, Zhihong, Ye, Xiaolong; +Cc: dev

Hi Yinan,

On 4/29/20 10:33 AM, Wang, Yinan wrote:
> Tested-by: Yinan Wang <yinan.wang@intel.com>

Thanks for running tests on Vhost patches, that's much appreciated.

Could you provide more information on the test run?
Does it consist in reproducing the issue the patch is aiming to fix,
apply patch and check issue is fixed?
Or does it consist in running a generic Vhost/Virtio test suite?

Regards,
Maxime

>> -----Original Message-----
>> From: dev <dev-bounces@dpdk.org> On Behalf Of Xuan Ding
>> Sent: 2020年4月29日 11:00
>> To: maxime.coquelin@redhat.com; Wang, Zhihong <zhihong.wang@intel.com>;
>> Ye, Xiaolong <xiaolong.ye@intel.com>
>> Cc: dev@dpdk.org; Ding, Xuan <xuan.ding@intel.com>
>> Subject: [dpdk-dev] [PATCH] vhost: zero_copy incompatible with client mode
>>
>> In server mode, virtio-user inits under the assumption that vhost-user supports a
>> list of features. However, this could be problematic when in_order feature is
>> negotiated but not supported by vhost-user when enables dequeue_zero_copy
>> later.
>>
>> Add handling when vhost-user enables dequeue_zero_copy as client.
>>
>> Signed-off-by: Xuan Ding <xuan.ding@intel.com>
>> ---
>>  lib/librte_vhost/socket.c | 6 ++++++
>>  1 file changed, 6 insertions(+)
>>
>> diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c index
>> 7c8012179..bb8d0d780 100644
>> --- a/lib/librte_vhost/socket.c
>> +++ b/lib/librte_vhost/socket.c
>> @@ -926,6 +926,12 @@ rte_vhost_driver_register(const char *path, uint64_t
>> flags)
>>  			ret = -1;
>>  			goto out_mutex;
>>  		}
>> +		if (!vsocket->is_server) {
>> +			VHOST_LOG_CONFIG(ERR,
>> +			"error: zero copy is incompatible with vhost client
>> mode\n");
>> +			ret = -1;
>> +			goto out_mutex;
>> +		}
>>  		vsocket->supported_features &= ~(1ULL <<
>> VIRTIO_F_IN_ORDER);
>>  		vsocket->features &= ~(1ULL << VIRTIO_F_IN_ORDER);
>>
>> --
>> 2.17.1
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [PATCH] vhost: zero_copy incompatible with client mode
  2020-04-29  2:59 [dpdk-dev] [PATCH] vhost: zero_copy incompatible with client mode Xuan Ding
  2020-04-29  8:33 ` Wang, Yinan
@ 2020-04-29 11:48 ` Maxime Coquelin
  2020-04-30  8:13 ` Maxime Coquelin
  2 siblings, 0 replies; 5+ messages in thread
From: Maxime Coquelin @ 2020-04-29 11:48 UTC (permalink / raw)
  To: Xuan Ding, zhihong.wang, xiaolong.ye; +Cc: dev



On 4/29/20 4:59 AM, Xuan Ding wrote:
> In server mode, virtio-user inits under the assumption that vhost-user
> supports a list of features. However, this could be problematic when
> in_order feature is negotiated but not supported by vhost-user when
> enables dequeue_zero_copy later.
> 
> Add handling when vhost-user enables dequeue_zero_copy as client.
> 
> Signed-off-by: Xuan Ding <xuan.ding@intel.com>
> ---
>  lib/librte_vhost/socket.c | 6 ++++++
>  1 file changed, 6 insertions(+)

Reiewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

Thanks,
Maxime


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [PATCH] vhost: zero_copy incompatible with client mode
  2020-04-29  2:59 [dpdk-dev] [PATCH] vhost: zero_copy incompatible with client mode Xuan Ding
  2020-04-29  8:33 ` Wang, Yinan
  2020-04-29 11:48 ` Maxime Coquelin
@ 2020-04-30  8:13 ` Maxime Coquelin
  2 siblings, 0 replies; 5+ messages in thread
From: Maxime Coquelin @ 2020-04-30  8:13 UTC (permalink / raw)
  To: Xuan Ding, zhihong.wang, xiaolong.ye; +Cc: dev



On 4/29/20 4:59 AM, Xuan Ding wrote:
> In server mode, virtio-user inits under the assumption that vhost-user
> supports a list of features. However, this could be problematic when
> in_order feature is negotiated but not supported by vhost-user when
> enables dequeue_zero_copy later.
> 
> Add handling when vhost-user enables dequeue_zero_copy as client.
> 
> Signed-off-by: Xuan Ding <xuan.ding@intel.com>
> ---
>  lib/librte_vhost/socket.c | 6 ++++++
>  1 file changed, 6 insertions(+)

Applied to dpdk-next-virtio/master.

Thanks,
Maxime


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-04-30  8:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-29  2:59 [dpdk-dev] [PATCH] vhost: zero_copy incompatible with client mode Xuan Ding
2020-04-29  8:33 ` Wang, Yinan
2020-04-29  8:46   ` Maxime Coquelin
2020-04-29 11:48 ` Maxime Coquelin
2020-04-30  8:13 ` Maxime Coquelin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).