netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 --]

  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).