Messages in this thread | | | Subject | Re: [PATCH v2 net] net: sch_generic: aviod concurrent reset and enqueue op for lockless qdisc | From | Vishwanath Pai <> | Date | Thu, 29 Oct 2020 00:50:36 -0400 |
| |
On 10/28/20 10:37 PM, Yunsheng Lin wrote: > On 2020/10/29 4:04, Vishwanath Pai wrote: >> On 10/28/20 1:47 PM, Cong Wang wrote: >>> On Wed, Oct 28, 2020 at 8:37 AM Pai, Vishwanath <vpai@akamai.com> wrote: >>>> Hi, >>>> >>>> We noticed some problems when testing the latest 5.4 LTS kernel and traced it >>>> back to this commit using git bisect. When running our tests the machine stops >>>> responding to all traffic and the only way to recover is a reboot. I do not see >>>> a stack trace on the console. >>> >>> Do you mean the machine is still running fine just the network is down? >>> >>> If so, can you dump your tc config with stats when the problem is happening? >>> (You can use `tc -s -d qd show ...`.) >>> >>>> >>>> This can be reproduced using the packetdrill test below, it should be run a >>>> few times or in a loop. You should hit this issue within a few tries but >>>> sometimes might take up to 15-20 tries. >>> ... >>>> I can reproduce the issue easily on v5.4.68, and after reverting this commit it >>>> does not happen anymore. >>> >>> This is odd. The patch in this thread touches netdev reset path, if packetdrill >>> is the only thing you use to trigger the bug (that is netdev is always active), >>> I can not connect them. >>> >>> Thanks. >> >> Hi Cong, >> >>> Do you mean the machine is still running fine just the network is down? >> >> I was able to access the machine via serial console, it looks like it is >> up and running, just that networking is down. >> >>> If so, can you dump your tc config with stats when the problem is happening? >>> (You can use `tc -s -d qd show ...`.) >> >> If I try running tc when the machine is in this state the command never >> returns. It doesn't print anything but doesn't exit either. >> >>> This is odd. The patch in this thread touches netdev reset path, if packetdrill >>> is the only thing you use to trigger the bug (that is netdev is always active), >>> I can not connect them. >> >> I think packetdrill creates a tun0 interface when it starts the >> test and tears it down at the end, so it might be hitting this code path >> during teardown. > > Hi, Is there any preparation setup before running the above packetdrill test > case, I run the above test case in 5.9-rc4 with this patch applied without any > preparation setup, did not reproduce it. > > By the way, I am newbie to packetdrill:), it would be good to provide the > detail setup to reproduce it,thanks. > >> >> P.S: My mail server is having connectivity issues with vger.kernel.org >> so messages aren't getting delivered to netdev. It'll hopefully get >> resolved soon. >> >> Thanks, >> Vishwanath >> >> >> . >>
I can't reproduce it on v5.9-rc4 either, it is probably an issue only on 5.4 then (and maybe older LTS versions). Can you give it a try on 5.4.68?
For running packetdrill, download the latest version from their github repo, then run it in a loop without any special arguments. This is what I do to reproduce it:
while true; do ./packetdrill <test-file>; done
I don't think any other setup is necessary.
-Vishwanath
| |