[ovs-dev] Vhost-user dequeue zero copy removal

Kevin Traynor ktraynor at redhat.com
Wed Jul 1 11:46:44 UTC 2020


On 01/07/2020 11:28, Stokes, Ian wrote:
> Hi All,
> 
> While completing validation work for DPDK 18.11.9 and 19.11.3 it was 
> found that zero-copy for vhostuserclient devices is no longer possible. 
> Please see commit below from 18.11.9 (note this patch is also in DPDK 
> 19.11.3)
> 

Thanks catching this in your validation, it almost certainly wouldn't
have been caught otherwise.

> 
> commit 81e025d7ed6a802845909df6fb90505508dc0fbf
> Author: Xuan Ding <xuan.ding at intel.com>
> Date:   Wed Apr 29 02:59:46 2020 +0000
> 
>      vhost: prevent zero-copy with incompatible client mode
> 
>      [ upstream commit 715070ea10e6da1169deef2a3ea77ae934b4c333 ]
> 
>      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.
> 
> OVS only supports zero-copy to date as an experimental feature with 
> dpdkvhostuserclient port types.
> 
> We were aiming to update the validated DPDK versions as follows and 
> recommend them as minimum versions due to the inclusion of CSE fixes.
> 
> OVS 2.11 -> 18.11.6 -> 18.11.9
> OVS 2.12 -> 18.11.6 -> 18.11.9
> OVS 2.13 -> 19.11.0 -> 19.11.3
> OVS Master -> 19.11.0 -> 19.11.3
> 
> However recommending these DPDK version will trigger the dpdk zero copy 
> functionality break in OVS.
> 

18.11.9 is not released yet, so at least for it, I think we could
replace that patch(es) with a warning.

That is not removing any functionality or causing a regression for users
of earlier 18.11.x or OVS 2.11/2.12, but it is letting them know there
may be an issue.

        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;
+                       RTE_LOG(WARNING, VHOST_CONFIG,
+                       "zero copy may be incompatible with vhost client
mode\n");
                }

> What are peoples thoughts here on how to proceed?
> Are people aware if the feature is used in deployments to date? If not, 
> as it's experimental is it something that should be removed?
> 
> I'm aware that there is discussion ongoing about tagging for 2.13.1, 
> 2.12.1, 2.11.3 releases, I'm thinking the vhost zero copy issue should 
> be resolved within that time frame and before we update the recommended 
> DPDK versions.
> 
> BR
> Ian
> 
> 



More information about the dev mailing list