From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 7351DA0471 for ; Thu, 20 Jun 2019 09:27:11 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4F69E1D057; Thu, 20 Jun 2019 09:27:11 +0200 (CEST) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 1FA7E1BF15 for ; Thu, 20 Jun 2019 09:27:10 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 87E4E307D866; Thu, 20 Jun 2019 07:27:09 +0000 (UTC) Received: from [10.36.112.46] (ovpn-112-46.ams2.redhat.com [10.36.112.46]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 708725D9E5; Thu, 20 Jun 2019 07:27:08 +0000 (UTC) To: Noa Ezra Cc: Matan Azrad , "dev@dpdk.org" References: <1560924825-220648-1-git-send-email-noae@mellanox.com> <1560924825-220648-3-git-send-email-noae@mellanox.com> <29a8bedb-2363-d595-001b-577fdfc7318c@redhat.com> From: Maxime Coquelin Message-ID: Date: Thu, 20 Jun 2019 09:27:06 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.48]); Thu, 20 Jun 2019 07:27:09 +0000 (UTC) Subject: Re: [dpdk-dev] [PATCH 2/2] net/vhost: support mrg-rxbuf disabling X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 6/20/19 7:57 AM, Noa Ezra wrote: > Hi Maxime, > Thanks for your comment, please see below. > >> -----Original Message----- >> From: Maxime Coquelin [mailto:maxime.coquelin@redhat.com] >> Sent: Wednesday, June 19, 2019 12:10 PM >> To: Noa Ezra >> Cc: Matan Azrad ; dev@dpdk.org >> Subject: Re: [PATCH 2/2] net/vhost: support mrg-rxbuf disabling >> >> Hi Noa, >> >> On 6/19/19 8:13 AM, Noa Ezra wrote: >>> Rx mergeable buffers is a virtio feature that allows chaining of >>> multiple virtio descriptors to handle large packet size. >>> This behavior is supported and enabled by default, however in case the >>> user knows that rx mergeable buffers are not needed, he can disable >>> the feature. >>> The user should also set mrg_rxbuf=off in virtual machine's xml. >> >> I'm not sure to understand why it is needed, as the vhost-user library >> supports the feature, it's better to let it being advertised. >> >> As you say, it is up to the user to disable it in the VM's XML. >> Done this way, the feature won't be negotiated. >> > I agree with you, I'll remove this patch from the series. > >> Moreover, the proposal deadline for v19.08 is over by more than 2 weeks. > I'm sorry, the mail was sent a long time but didn't get to the mailing list. No problem, I just wanted to make you aware I could not take it anyway in v19.08. > In any case, I'll prepare a new patch with only TSO (the first patch) and send it to the next release. As I replied to Matan, could you add the notice for the TSO disabled by default in the release not for this release? Thanks, Maxime >> Maxime >> >>> Signed-off-by: Noa Ezra >>> Reviewed-by: Matan Azrad >>> --- >>> doc/guides/nics/vhost.rst | 5 +++++ >>> drivers/net/vhost/rte_eth_vhost.c | 17 ++++++++++++++++- >>> 2 files changed, 21 insertions(+), 1 deletion(-) >>> >>> diff --git a/doc/guides/nics/vhost.rst b/doc/guides/nics/vhost.rst >>> index 8cfda4d..2a455b5 100644 >>> --- a/doc/guides/nics/vhost.rst >>> +++ b/doc/guides/nics/vhost.rst >>> @@ -81,6 +81,11 @@ The user can specify below arguments in `--vdev` >> option. >>> It is used to disable tso support in vhost library. >>> (Default: 1 (enabled)) >>> >>> +#. ``mrg-rxbuf``: >>> + >>> + It is used to disable mrg rxbuf support in vhost library. >>> + (Default: 1 (enabled)) >>> + >>> Vhost PMD event handling >>> ------------------------ >>> >>> diff --git a/drivers/net/vhost/rte_eth_vhost.c >>> b/drivers/net/vhost/rte_eth_vhost.c >>> index a38c235..9a54020 100644 >>> --- a/drivers/net/vhost/rte_eth_vhost.c >>> +++ b/drivers/net/vhost/rte_eth_vhost.c >>> @@ -32,6 +32,7 @@ >>> #define ETH_VHOST_IOMMU_SUPPORT "iommu-support" >>> #define ETH_VHOST_POSTCOPY_SUPPORT "postcopy-support" >>> #define ETH_VHOST_VIRTIO_NET_F_HOST_TSO "tso" >>> +#define ETH_VHOST_VIRTIO_NET_F_MRG_RXBUF "mrg-rxbuf" >>> #define VHOST_MAX_PKT_BURST 32 >>> >>> static const char *valid_arguments[] = { @@ -42,6 +43,7 @@ >>> ETH_VHOST_IOMMU_SUPPORT, >>> ETH_VHOST_POSTCOPY_SUPPORT, >>> ETH_VHOST_VIRTIO_NET_F_HOST_TSO, >>> + ETH_VHOST_VIRTIO_NET_F_MRG_RXBUF, >>> NULL >>> }; >>> >>> @@ -1348,6 +1350,7 @@ struct vhost_xstats_name_off { >>> int iommu_support = 0; >>> int postcopy_support = 0; >>> int tso = 1; >>> + int mrg_rxbuf = 1; >>> struct rte_eth_dev *eth_dev; >>> const char *name = rte_vdev_device_name(dev); >>> >>> @@ -1442,6 +1445,17 @@ struct vhost_xstats_name_off { >>> } >>> } >>> >>> + if (rte_kvargs_count(kvlist, >> ETH_VHOST_VIRTIO_NET_F_MRG_RXBUF) == 1) { >>> + ret = rte_kvargs_process(kvlist, >>> + ETH_VHOST_VIRTIO_NET_F_MRG_RXBUF, >>> + &open_int, &mrg_rxbuf); >>> + if (ret < 0) >>> + goto out_free; >>> + >>> + if (mrg_rxbuf == 0) >>> + disable_flags |= (1ULL << >> VIRTIO_NET_F_MRG_RXBUF); >>> + } >>> + >>> if (dev->device.numa_node == SOCKET_ID_ANY) >>> dev->device.numa_node = rte_socket_id(); >>> >>> @@ -1494,7 +1508,8 @@ struct vhost_xstats_name_off { >>> "dequeue-zero-copy=<0|1> " >>> "iommu-support=<0|1> " >>> "postcopy-support=<0|1> " >>> - "tso=<0|1>"); >>> + "tso=<0|1> " >>> + "mrg-rxbuf=<0|1>"); >>> >>> RTE_INIT(vhost_init_log) >>> { >>>