From: Olivier Matz <olivier.matz@6wind.com>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: "Morten Brørup" <mb@smartsharesystems.com>,
"Ali Alnubani" <alialnu@nvidia.com>,
"David Marchand" <david.marchand@redhat.com>,
"Alexander Kozyrev" <akozyrev@nvidia.com>,
"Slava Ovsiienko" <viacheslavo@nvidia.com>,
dev@dpdk.org, "Ferruh Yigit" <ferruh.yigit@intel.com>,
zhaoyan.chen@intel.com,
"Andrew Rybchenko" <andrew.rybchenko@oktetlabs.ru>,
"Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
ajitkhaparde@gmail.com, "dpdk stable" <stable@dpdk.org>,
"Ajit Khaparde" <ajit.khaparde@broadcom.com>
Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH v4] mbuf: fix reset on mbuf free
Date: Fri, 30 Jul 2021 17:14:54 +0200 [thread overview]
Message-ID: <YQQXbhs/Kc8WPxvt@platinum> (raw)
In-Reply-To: <2065212.rItNS1eAF1@thomas>
Hi,
On Fri, Jul 30, 2021 at 04:54:05PM +0200, Thomas Monjalon wrote:
> 30/07/2021 16:35, Morten Brørup:
> > > 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 <olivier.matz@6wind.com>
> > > > > > 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.
The problem description could be something like this:
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.
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.
> > 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
>
>
>
next prev parent reply other threads:[~2021-07-30 15:14 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-04 17:00 [dpdk-stable] [PATCH] " Olivier Matz
2020-11-05 0:15 ` Ananyev, Konstantin
2020-11-05 7:46 ` Olivier Matz
2020-11-05 8:33 ` [dpdk-stable] [dpdk-dev] " Morten Brørup
2020-11-05 9:03 ` Olivier Matz
2020-11-05 9:09 ` Andrew Rybchenko
2020-11-08 7:25 ` Ali Alnubani
2020-12-18 12:52 ` [dpdk-stable] [PATCH v2] " Olivier Matz
2020-12-18 13:18 ` [dpdk-stable] [dpdk-dev] " Morten Brørup
2020-12-18 23:33 ` Ajit Khaparde
2021-01-06 13:33 ` [dpdk-stable] [PATCH v3] " Olivier Matz
2021-01-10 9:28 ` Ali Alnubani
2021-01-11 13:14 ` Ananyev, Konstantin
2021-01-13 13:27 ` [dpdk-stable] [PATCH v4] " Olivier Matz
2021-01-15 13:59 ` David Marchand
2021-01-15 18:39 ` Ali Alnubani
2021-01-18 17:52 ` Ali Alnubani
2021-01-19 8:32 ` Olivier Matz
2021-01-19 8:53 ` Morten Brørup
2021-01-19 12:00 ` Ferruh Yigit
2021-01-19 12:27 ` [dpdk-stable] [dpdk-dev] " Morten Brørup
2021-01-19 14:03 ` Ferruh Yigit
2021-01-19 14:21 ` Morten Brørup
2021-01-21 9:15 ` Ferruh Yigit
2021-01-19 14:04 ` [dpdk-stable] " Slava Ovsiienko
2021-07-24 8:47 ` [dpdk-stable] [dpdk-dev] " Thomas Monjalon
2021-07-30 12:36 ` Olivier Matz
2021-07-30 14:35 ` Morten Brørup
2021-07-30 14:54 ` Thomas Monjalon
2021-07-30 15:14 ` Olivier Matz [this message]
2021-07-30 15:23 ` Morten Brørup
2021-01-21 9:19 ` [dpdk-stable] " Ferruh Yigit
2021-01-21 9:29 ` [dpdk-stable] [dpdk-dev] " Morten Brørup
2021-01-21 16:35 ` [dpdk-stable] [dpdklab] " Lincoln Lavoie
2021-01-23 8:57 ` [dpdk-stable] [dpdk-dev] [dpdklab] " Morten Brørup
2021-01-25 17:00 ` Brandon Lo
2021-01-25 18:42 ` [dpdk-stable] [dpdklab] RE: [dpdk-dev] " Ferruh Yigit
2021-06-15 13:56 ` [dpdk-stable] " Morten Brørup
2021-09-29 21:37 ` [dpdk-stable] [PATCH v5] " Olivier Matz
2021-09-30 13:27 ` Ali Alnubani
2021-10-21 9:18 ` [dpdk-stable] [dpdk-dev] " David Marchand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YQQXbhs/Kc8WPxvt@platinum \
--to=olivier.matz@6wind.com \
--cc=ajit.khaparde@broadcom.com \
--cc=ajitkhaparde@gmail.com \
--cc=akozyrev@nvidia.com \
--cc=alialnu@nvidia.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=konstantin.ananyev@intel.com \
--cc=mb@smartsharesystems.com \
--cc=stable@dpdk.org \
--cc=thomas@monjalon.net \
--cc=viacheslavo@nvidia.com \
--cc=zhaoyan.chen@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).