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@redhat.com
Subject: Re: packet stuck in qdisc : patch proposal
Date: Wed, 25 May 2022 19:43:49 +0200 (CEST) [thread overview]
Message-ID: <1010638538.15358411.1653500629126.JavaMail.zimbra@kalray.eu> (raw)
In-Reply-To: <90c70f7f-1f07-4cd7-bb41-0f708114bb80@linux.alibaba.com>
[-- Attachment #1: Type: text/plain, Size: 4841 bytes --]
----- 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.
>
>>
>>> (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
[-- Attachment #2: 0001-net-sched-fixed-barrier-to-prevent-skbuff-sticking-i.patch --]
[-- Type: application/mbox, Size: 5550 bytes --]
next prev parent reply other threads:[~2022-05-25 17:44 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 [this message]
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=1010638538.15358411.1653500629126.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).