From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by dpdk.org (Postfix) with ESMTP id 084B81AFEC for ; Thu, 7 Jun 2018 09:34:55 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 84705406CC25; Thu, 7 Jun 2018 07:34:55 +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 B9F0F2026DEF; Thu, 7 Jun 2018 07:34:54 +0000 (UTC) To: Tiwei Bie Cc: zhihong.wang@intel.com, dev@dpdk.org References: <20180606123128.7868-1-maxime.coquelin@redhat.com> <20180606123128.7868-4-maxime.coquelin@redhat.com> <20180607051321.GC32696@debian> From: Maxime Coquelin Message-ID: Date: Thu, 7 Jun 2018 09:34:53 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <20180607051321.GC32696@debian> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Thu, 07 Jun 2018 07:34:55 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Thu, 07 Jun 2018 07:34:55 +0000 (UTC) for IP:'10.11.54.4' DOMAIN:'int-mx04.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'maxime.coquelin@redhat.com' RCPT:'' Subject: Re: [dpdk-dev] [PATCH v2 3/5] net/vhost: improve Tx path selection 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: , X-List-Received-Date: Thu, 07 Jun 2018 07:34:56 -0000 On 06/07/2018 07:13 AM, Tiwei Bie wrote: > On Wed, Jun 06, 2018 at 02:31:26PM +0200, Maxime Coquelin wrote: > [...] >> @@ -1886,6 +1888,15 @@ virtio_dev_configure(struct rte_eth_dev *dev) >> (1ULL << VIRTIO_NET_F_GUEST_TSO4) | >> (1ULL << VIRTIO_NET_F_GUEST_TSO6); >> >> + if (tx_offloads & (DEV_TX_OFFLOAD_TCP_CKSUM | >> + DEV_TX_OFFLOAD_UDP_CKSUM)) >> + req_features |= (1ULL << VIRTIO_NET_F_CSUM); > > Hmm.. I still prefer to keep the DEV_TX_OFFLOAD_TCP_CKSUM > and DEV_TX_OFFLOAD_UDP_CKSUM aligned to make the coding > style consistent with the existing code of Rx: > > 1901 ¦ if (rx_offloads & (DEV_RX_OFFLOAD_UDP_CKSUM | > 1902 ¦ ¦ ¦ DEV_RX_OFFLOAD_TCP_CKSUM)) > 1903 ¦ ¦ req_features |= (1ULL << VIRTIO_NET_F_GUEST_CSUM); > > But it's up to you. Yes, it is better to keep same alignment, even if the rx one looks a bit weird to me. Also, I take the opportunity to switch UDP and TXP CKSUM defines for consistency with Rx. >> + >> + if (tx_offloads & DEV_TX_OFFLOAD_TCP_TSO) >> + req_features |= >> + (1ULL << VIRTIO_NET_F_HOST_TSO4) | >> + (1ULL << VIRTIO_NET_F_HOST_TSO6); >> + >> /* if request features changed, reinit the device */ >> if (req_features != hw->req_guest_features) { >> ret = virtio_init_device(dev, req_features); >> @@ -1955,6 +1966,12 @@ virtio_dev_configure(struct rte_eth_dev *dev) >> DEV_RX_OFFLOAD_TCP_CKSUM)) >> hw->use_simple_rx = 0; >> >> + if (tx_offloads & (DEV_TX_OFFLOAD_TCP_CKSUM | >> + DEV_TX_OFFLOAD_UDP_CKSUM | >> + DEV_TX_OFFLOAD_TCP_TSO | >> + DEV_TX_OFFLOAD_VLAN_INSERT)) >> + hw->use_simple_tx = 0; > > Ditto. Below is the code for Rx: > > 1987 ¦ if (rx_offloads & (DEV_RX_OFFLOAD_UDP_CKSUM | > 1988 ¦ ¦ ¦ DEV_RX_OFFLOAD_TCP_CKSUM | > 1989 ¦ ¦ ¦ DEV_RX_OFFLOAD_TCP_LRO | > 1990 ¦ ¦ ¦ DEV_RX_OFFLOAD_VLAN_STRIP)) > 1991 ¦ ¦ hw->use_simple_rx = 0; > > So, instead of: > > 1987 ¦ if (rx_offloads & (DEV_RX_OFFLOAD_UDP_CKSUM | > 1988 ¦ ¦ ¦ DEV_RX_OFFLOAD_TCP_CKSUM | > 1989 ¦ ¦ ¦ DEV_RX_OFFLOAD_TCP_LRO | > 1990 ¦ ¦ ¦ DEV_RX_OFFLOAD_VLAN_STRIP)) > 1991 ¦ ¦ hw->use_simple_rx = 0; > 1992 > 1993 ¦ if (tx_offloads & (DEV_TX_OFFLOAD_TCP_CKSUM | > 1994 ¦ ¦ ¦ ¦ DEV_TX_OFFLOAD_UDP_CKSUM | > 1995 ¦ ¦ ¦ ¦ DEV_TX_OFFLOAD_TCP_TSO | > 1996 ¦ ¦ ¦ ¦ DEV_TX_OFFLOAD_VLAN_INSERT)) > 1997 ¦ ¦ hw->use_simple_tx = 0; > > I would prefer: > > 1987 ¦ if (rx_offloads & (DEV_RX_OFFLOAD_UDP_CKSUM | > 1988 ¦ ¦ ¦ DEV_RX_OFFLOAD_TCP_CKSUM | > 1989 ¦ ¦ ¦ DEV_RX_OFFLOAD_TCP_LRO | > 1990 ¦ ¦ ¦ DEV_RX_OFFLOAD_VLAN_STRIP)) > 1991 ¦ ¦ hw->use_simple_rx = 0; > 1992 > 1993 ¦ if (tx_offloads & (DEV_TX_OFFLOAD_UDP_CKSUM | > 1994 ¦ ¦ ¦ DEV_TX_OFFLOAD_TCP_CKSUM | > 1995 ¦ ¦ ¦ DEV_TX_OFFLOAD_TCP_TSO | > 1996 ¦ ¦ ¦ DEV_TX_OFFLOAD_VLAN_INSERT)) > 1997 ¦ ¦ hw->use_simple_tx = 0; > > But anyway, it's up to you. :) Yep, I fix it now. > Reviewed-by: Tiwei Bie Thanks, Maxime > Best regards, > Tiwei Bie >