From: Vincent Ray <vray@kalrayinc.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: linyunsheng <linyunsheng@huawei.com>, davem <davem@davemloft.net>,
方国炬 <guoju.fgj@alibaba-inc.com>, kuba <kuba@kernel.org>,
netdev <netdev@vger.kernel.org>,
"Samuel Jones" <sjones@kalrayinc.com>,
"vladimir oltean" <vladimir.oltean@nxp.com>,
"Guoju Fang" <gjfang@linux.alibaba.com>,
"Remy Gauguey" <rgauguey@kalrayinc.com>, will <will@kernel.org>,
"Eric Dumazet" <edumazet@google.com>
Subject: Re: packet stuck in qdisc : patch proposal
Date: Wed, 25 May 2022 11:44:57 +0200 (CEST) [thread overview]
Message-ID: <1140270297.15304639.1653471897630.JavaMail.zimbra@kalray.eu> (raw)
In-Reply-To: <317a3e67-0956-e9c2-0406-9349844ca612@gmail.com>
----- On May 24, 2022, at 10:17 PM, Eric Dumazet eric.dumazet@gmail.com wrote:
> On 5/24/22 10:00, Vincent Ray wrote:
>> All,
>>
>> I confirm Eric's patch works well too, and it's better and clearer than mine.
>> So I think we should go for it, and the one from Guoju in addition.
>>
>> @Eric : I see you are one of the networking maintainers, so I have a few
>> questions for you :
>>
>> a) are you going to take care of these patches directly yourself, or is there
>> something Guoju or I should do to promote them ?
>
> I think this is totally fine you take ownership of the patch, please
> send a formal V2.
>
> Please double check what patchwork had to say about your V1 :
>
>
> https://patchwork.kernel.org/project/netdevbpf/patch/1684598287.15044793.1653314052575.JavaMail.zimbra@kalray.eu/
>
>
> And make sure to address the relevant points
OK I will.
If you agree, I will take your version of the fix (test_and_set_bit()), keeping the commit message
similar to my original one.
What about Guoju's patch ?
(adding a smp_mb() between the spin_unlock() and test_bit() in qdisc_run_end()).
I think it is also necessary though potentially less critical.
Do we embed it in the same patch ? or patch series ?
@Guoju : have you submitted it for integration ?
> The most important one is the lack of 'Signed-off-by:' tag, of course.
>
>
>> b) Can we expect to see them land in the mainline soon ?
>
> If your v2 submission is correct, it can be merged this week ;)
>
>
>>
>> c) Will they be backported to previous versions of the kernel ? Which ones ?
>
> You simply can include a proper Fixes: tag, so that stable teams can
> backport
>
> the patch to all affected kernel versions.
>
Here things get a little complicated in my head ;-)
As explained, I think this mechanism has been bugged, in a way or an other, for some time, perhaps since the introduction
of lockless qdiscs (4.16) or somewhere between 4.16 and 5.14.
It's hard to tell at a glance since the code looks quite different back then.
Because of these changes, a unique patch will also only apply up to a certain point in the past.
However, I think the bug became really critical only with the introduction of "true bypass" behavior
in lockless qdiscs by YunSheng in 5.14, though there may be scenarios where it is a big deal
even in no-bypass mode.
=> I suggest we only tag it for backward fix up to the 5.14, where it should apply smoothly,
and we live with the bug for versions before that.
This would mean that 5.15 LT can be patched but no earlier LT
What do you think ?
BTW : forgive my ignorance, but are there any kind of "Errata Sheet" or similar for known bugs that
won't be fixed in a given kernel ?
>
>
>>
>> Thanks a lot, best,
>
> Thanks a lot for working on this long standing issue.
>
>
>
>
> To declare a filtering error, please use the following link :
> https://www.security-mail.net/reporter.php?mid=7009.628d3d4c.37c04.0&r=vray%40kalrayinc.com&s=eric.dumazet%40gmail.com&o=Re%3A+packet+stuck+in+qdisc+%3A+patch+proposal&verdict=C&c=0ca08e7b7e420d1ab014cda67db48db71df41f5f
next prev parent reply other threads:[~2022-05-25 9:45 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1862202329.1457162.1643113633513.JavaMail.zimbra@kalray.eu>
[not found] ` <698739062.1462023.1643115337201.JavaMail.zimbra@kalray.eu>
2022-01-28 2:36 ` packet stuck in qdisc Yunsheng Lin
2022-01-28 8:58 ` Vincent Ray
2022-01-28 9:59 ` Vincent Ray
2022-01-29 6:53 ` Yunsheng Lin
2022-01-31 18:39 ` Vincent Ray
2022-02-07 3:17 ` Yunsheng Lin
2022-03-25 6:16 ` Yunsheng Lin
2022-03-25 8:45 ` Vincent Ray
2022-04-13 13:01 ` Vincent Ray
2022-04-14 3:05 ` Guoju Fang
2022-05-23 13:54 ` packet stuck in qdisc : patch proposal Vincent Ray
2022-05-24 2:55 ` Eric Dumazet
2022-05-24 6:43 ` Yunsheng Lin
2022-05-24 8:13 ` Vincent Ray
2022-05-24 17:00 ` Vincent Ray
2022-05-24 20:17 ` Eric Dumazet
2022-05-25 9:44 ` Vincent Ray [this message]
2022-05-25 10:45 ` Yunsheng Lin
2022-05-25 12:40 ` Guoju Fang
2022-05-25 17:43 ` Vincent Ray
2022-05-25 17:48 ` Vincent Ray
2022-05-26 0:17 ` Eric Dumazet
2022-05-26 7:01 ` [PATCH v2] net: sched: add barrier to fix packet stuck problem for lockless qdisc Guoju Fang
2022-05-27 9:11 ` [PATCH v3 net] " Guoju Fang
2022-05-28 0:51 ` Yunsheng Lin
2022-05-28 10:16 ` [PATCH v4 " Guoju Fang
2022-06-01 4:00 ` patchwork-bot+netdevbpf
2022-05-30 9:36 ` packet stuck in qdisc : patch proposal Vincent Ray
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=1140270297.15304639.1653471897630.JavaMail.zimbra@kalray.eu \
--to=vray@kalrayinc.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=eric.dumazet@gmail.com \
--cc=gjfang@linux.alibaba.com \
--cc=guoju.fgj@alibaba-inc.com \
--cc=kuba@kernel.org \
--cc=linyunsheng@huawei.com \
--cc=netdev@vger.kernel.org \
--cc=rgauguey@kalrayinc.com \
--cc=sjones@kalrayinc.com \
--cc=vladimir.oltean@nxp.com \
--cc=will@kernel.org \
/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).