From: Vincent Ray <vray@kalrayinc.com>
To: Guoju Fang <gjfang@linux.alibaba.com>,
Eric Dumazet <eric.dumazet@gmail.com>,
linyunsheng <linyunsheng@huawei.com>
Cc: 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>,
"Remy Gauguey" <rgauguey@kalrayinc.com>, will <will@kernel.org>,
"Eric Dumazet" <edumazet@google.com>, pabeni <pabeni@redhat.com>
Subject: Re: packet stuck in qdisc : patch proposal
Date: Wed, 25 May 2022 19:48:10 +0200 (CEST) [thread overview]
Message-ID: <151424689.15358643.1653500890228.JavaMail.zimbra@kalray.eu> (raw)
In-Reply-To: <1010638538.15358411.1653500629126.JavaMail.zimbra@kalray.eu>
----- On May 25, 2022, at 7:43 PM, Vincent Ray vray@kalrayinc.com wrote:
> ----- On May 25, 2022, at 2:40 PM, Guoju Fang gjfang@linux.alibaba.com wrote:
>
>> On 2022/5/25 18:45, Yunsheng Lin wrote:
>>> On 2022/5/25 17:44, Vincent Ray wrote:
>>>> ----- 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 ?
>>>
>>> @Guoju, please speak up if you want to handle the patch yourself.
>>
>> Hi Yunsheng, all,
>>
>> I rewrite the comments of my patch and it looks a little clearer. :)
>>
>> Thank you.
>>
>> Best regards,
>
> Guoju : shouldn't you also include the same Fixes tag suggested by YunSheng ?
>
> Here's mine, attached. Hope it's well formatted this time. Tell me.
> I don't feel quite confident with the submission process to produce the series
> myself, so I'll let Eric handle it if it's ok.
NB : from what I've understood reading some doc, as this is a fix, it's supposed to go
in the "net" tree, so I tagged it accordingly in the Subject. Hope it's Ok
>
>>
>>>
>>>> (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's patch fixes the commit a90c57f2cedd, so "patch series"
>>> seems better if Guoju is not speaking up to handle the patch himself.
>>>
>>>
>>>>
>>>> @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.
>>>
>>>
>>> commit 89837eb4b246 tried to fix that, but it did not fix it completely, and
>>> that commit should has
>>> been back-ported to the affected kernel versions as much as possible, so I think
>>> the Fixes tag
>>> should be:
>>>
>>> Fixes: 89837eb4b246 ("net: sched: add barrier to ensure correct ordering for
>>> lockless qdisc")
>>>
>>>>
>>>> => 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
>>>>
>>>>
>>>>
>>>>
>>>> .
>>>>
>>
>> To declare a filtering error, please use the following link :
>> https://www.security-mail.net/reporter.php?mid=2c69.628e23bf.45908.0&r=vray%40kalrayinc.com&s=gjfang%40linux.alibaba.com&o=Re%3A+packet+stuck+in+qdisc+%3A+patch+proposal&verdict=C&c=6106070134039ab6725b6d3de67bd24d624c8b51
next prev parent reply other threads:[~2022-05-25 17:48 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
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 [this message]
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=151424689.15358643.1653500890228.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=pabeni@redhat.com \
--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).