Re: [PATCH net v4 1/2] net: sched: fix packet stuck problem for lockless qdisc
From: Yunsheng Lin
Date: Wed Apr 21 2021 - 05:25:14 EST
On 2021/4/21 16:44, Michal Kubecek wrote:
> On Wed, Apr 21, 2021 at 04:21:54PM +0800, Yunsheng Lin wrote:
>>
>> I tried using below shell to simulate your testcase:
>>
>> #!/bin/sh
>>
>> for((i=0; i<20; i++))
>> do
>> taskset -c 0-31 netperf -t TCP_STREAM -H 192.168.100.2 -l 30 -- -m 1048576
>> done
>>
>> And I got a quite stable result: 9413~9416 (10^6bits/sec) for 10G netdev.
>
> Perhaps try it without the taskset, in my test, there was only one
> connection.
Just tried, and got the similar result as above.
>
>>>
>>> https://github.com/mkubecek/nperf
>>>
>>> It is still raw and a lot of features are missing but it can be already
>>> used for multithreaded TCP_STREAM and TCP_RR tests. In particular, the
>>> output above was with
>>>
>>> nperf -H 172.17.1.1 -l 30 -i 20 --exact -t TCP_STREAM -M 1
>>
>> I tried your nperf too, unfortunately it does not seem to work on my
>> system(arm64), which exits very quickly and output the blow result:
>>
>> root@(none):/home# nperf -H 192.168.100.2 -l 30 -i 20 --exact -t TCP_STREAM -M 1
>> server: 192.168.100.2, port 12543
>> iterations: 20, threads: 1, test length: 30
>> test: TCP_STREAM, message size: 1048576
>>
>> 1 4.0 B/s, avg 4.0 B/s, mdev 0.0 B/s ( 0.0%)
> [...]
>
> Did you start nperfd on the other side? (It plays a role similar to
> netserver for netperf.) Few days ago I noticed that there is something
> wrong with error handling in case of failed connection but didn't get to
> fixing it yet.
Yes, I did. If I did not start nperfd, I got "connect: Connection refused"
as below:
nperf -H 192.168.100.2 -l 30 -i 20 --exact -t TCP_STREAM -M 1
server: 192.168.100.2, port 12543
iterations: 20, threads: 1, test length: 30
test: TCP_STREAM, message size: 1048576
connect: Connection refused
failed to connect to '192.168.100.2'
1 4.0 B/s, avg 4.0 B/s, mdev 0.0 B/s ( 0.0%)
connect: Connection refused
failed to connect to '192.168.100.2'
2 4.0 B/s, avg 4.0 B/s, mdev 0.0 B/s ( 0.0%), confid. +/- 0.0 B/s ( 0.0%)
connect: Connection refused
failed to connect to '192.168.100.2'
>
> I'll try running some tests also on other architectures, including arm64
> and s390x (to catch potential endinanity issues).
>
> Michal
>
> .
>