From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A81E843E0C for ; Fri, 5 Apr 2024 18:20:13 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9891540648; Fri, 5 Apr 2024 18:20:13 +0200 (CEST) Received: from dkmailrelay1.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by mails.dpdk.org (Postfix) with ESMTP id E6B8C402CE; Fri, 5 Apr 2024 18:20:10 +0200 (CEST) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesys.local [192.168.4.10]) by dkmailrelay1.smartsharesystems.com (Postfix) with ESMTP id BD05B21273; Fri, 5 Apr 2024 18:20:10 +0200 (CEST) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: RE: [PATCH v2 3/8] mbuf: fix Tx checksum offload examples Date: Fri, 5 Apr 2024 18:20:08 +0200 X-MimeOLE: Produced By Microsoft Exchange V6.5 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35E9F36C@smartserver.smartshare.dk> In-Reply-To: <20240405144604.906695-4-david.marchand@redhat.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH v2 3/8] mbuf: fix Tx checksum offload examples Thread-Index: AdqHaBOlsAPk6Ua4SGGPHkdwk8+diAAB5+rQ References: <20240405125039.897933-1-david.marchand@redhat.com> <20240405144604.906695-1-david.marchand@redhat.com> <20240405144604.906695-4-david.marchand@redhat.com> From: =?iso-8859-1?Q?Morten_Br=F8rup?= To: "David Marchand" , Cc: , , , "Olivier Matz" , "Jijiang Liu" , "Andrew Rybchenko" , , "Ferruh Yigit" , "Kaiwen Deng" , , , "Aman Singh" , "Yuying Zhang" , "Thomas Monjalon" , "Jerin Jacob" X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org > From: David Marchand [mailto:david.marchand@redhat.com] > Sent: Friday, 5 April 2024 16.46 >=20 > Mandate use of rte_eth_tx_prepare() in the mbuf Tx checksum offload > examples. I strongly disagree with this change! It will cause a huge performance degradation for shaping applications: A packet will be processed and finalized at an output or forwarding = pipeline stage, where some other fields might also be written, so = zeroing e.g. the out_ip checksum at this stage has low cost (no new = cache misses). Then, the packet might be queued for QoS or similar. If rte_eth_tx_prepare() must be called at the egress pipeline stage, it = has to write to the packet and cause a cache miss per packet, instead of = simply passing on the packet to the NIC hardware. It must be possible to finalize the packet at the output/forwarding = pipeline stage! Also, how is rte_eth_tx_prepare() supposed to work for cloned packets = egressing on different NIC hardware? In theory, it might get even worse if we make this opaque instead of = transparent and standardized: One PMD might reset out_ip checksum to 0x0000, and another PMD might = reset it to 0xFFFF. I can only see one solution: We need to standardize on common minimum requirements for how to prepare = packets for each TX offload.