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 20747A0C45 for ; Fri, 30 Jul 2021 17:23:58 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0DBCE4067A; Fri, 30 Jul 2021 17:23:58 +0200 (CEST) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by mails.dpdk.org (Postfix) with ESMTP id 402504003F; Fri, 30 Jul 2021 17:23:55 +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 Date: Fri, 30 Jul 2021 17:23:53 +0200 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35C61946@smartserver.smartshare.dk> X-MimeOLE: Produced By Microsoft Exchange V6.5 In-Reply-To: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [dpdk-dev] [dpdk-stable] [PATCH v4] mbuf: fix reset on mbuf free Thread-Index: AdeFVaqqC1/u1xEGQwaIpeYpz5VtiwAAEJPg References: <20201104170007.8026-1-olivier.matz@6wind.com> <98CBD80474FA8B44BF855DF32C47DC35C61945@smartserver.smartshare.dk> <2065212.rItNS1eAF1@thomas> From: =?iso-8859-1?Q?Morten_Br=F8rup?= To: "Olivier Matz" , "Thomas Monjalon" Cc: "Ali Alnubani" , "David Marchand" , "Alexander Kozyrev" , "Slava Ovsiienko" , , "Ferruh Yigit" , , "Andrew Rybchenko" , "Ananyev, Konstantin" , , "dpdk stable" , "Ajit Khaparde" Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH v4] mbuf: fix reset on mbuf free 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 Sender: "stable" > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Olivier Matz > Sent: Friday, 30 July 2021 17.15 >=20 > Hi, >=20 > On Fri, Jul 30, 2021 at 04:54:05PM +0200, Thomas Monjalon wrote: > > 30/07/2021 16:35, Morten Br=F8rup: > > > > From: Olivier Matz [mailto:olivier.matz@6wind.com] > > > > Sent: Friday, 30 July 2021 14.37 > > > > > > > > Hi Thomas, > > > > > > > > On Sat, Jul 24, 2021 at 10:47:34AM +0200, Thomas Monjalon wrote: > > > > > What's the follow-up for this patch? > > > > > > > > Unfortunatly, I still don't have the time to work on this topic > yet. > > > > > > > > In my initial tests, in our lab, I didn't notice any performance > > > > regression, but Ali has seen an impact (0.5M PPS, but I don't > know how > > > > much in percent). > > > > > > > > > > > > > 19/01/2021 15:04, Slava Ovsiienko: > > > > > > Hi, All > > > > > > > > > > > > Could we postpose this patch at least to rc2? We would like > to > > > > conduct more investigations? > > > > > > > > > > > > With best regards, Slava > > > > > > > > > > > > From: Olivier Matz > > > > > > > On Mon, Jan 18, 2021 at 05:52:32PM +0000, Ali Alnubani > wrote: > > > > > > > > Hi, > > > > > > > > (Sorry had to resend this to some recipients due to mail > server > > > > problems). > > > > > > > > > > > > > > > > Just confirming that I can still reproduce the = regression > with > > > > single core and > > > > > > > 64B frames on other servers. > > > > > > > > > > > > > > Many thanks for the feedback. Can you please detail what = is > the > > > > amount of > > > > > > > performance loss in percent, and confirm the test case? (I > > > > suppose it is > > > > > > > testpmd io forward). > > > > > > > > > > > > > > Unfortunatly, I won't be able to spend a lot of time on > this soon > > > > (sorry for > > > > > > > that). So I see at least these 2 options: > > > > > > > > > > > > > > - postpone the patch again, until I can find more time to > analyze > > > > > > > and optimize > > > > > > > - apply the patch if the performance loss is acceptable > compared > > > > to > > > > > > > the added value of fixing a bug > > > > > > > > > > > > [...] > > > > > > > > Statu quo... > > > > > > > > Olivier > > > > > > > > > > The decision should be simple: > > > > > > Does the DPDK project support segmented packets? > > > If yes, then apply the patch to fix the bug! > > > > > > If anyone seriously cares about the regression it introduces, > optimization patches are welcome later. We shouldn't wait for it. > > > > You're right, but the regression is flagged to a 4-years old patch, > > that's why I don't consider it as urgent. > > > > > If the patch is not applied, the documentation must be updated to > mention that we are releasing DPDK with a known bug: that segmented > packets are handled incorrectly in the scenario described in this > patch. > > > > Yes, would be good to document the known issue, > > no matter how old it is. >=20 > The problem description could be something like this: >=20 > It is expected that free mbufs have their field m->nb_seg set to 1, > so > that when it is allocated, the user does not need to set its > value. The mbuf free functions are responsible of resetting this > field > to 1 before returning the mbuf to the pool. >=20 > When a multi-segment mbuf is freed, the m->nb_seg field is not reset > to 1 for the last segment of the chain. On next allocation of this > segment, if the field is not explicitly reset by the user, an = invalid > mbuf can be created, and can cause an undefined behavior. >=20 And it needs to be put somewhere very prominent if we expect the users = to read it. Would adding an RTE_VERIFY() - instead of fixing the bug - cause a = regression? If not, then any affected user will know what went wrong and = where. This would still be an improvement, if the bugfix patch cannot be = applied. >=20 > > > Generally, there could be some performance to gain by not > supporting segmented packets at all, as a compile time option. But = that > is a different discussion. > > > > > > > > > -Morten > > > > > >