mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Bug report: UDP ~20% degradation
@ 2023-02-08 11:08 Tariq Toukan
  2023-02-08 14:12 ` Vincent Guittot
  2023-02-10 18:37 ` Linux regression tracking #adding (Thorsten Leemhuis)
  0 siblings, 2 replies; 7+ messages in thread
From: Tariq Toukan @ 2023-02-08 11:08 UTC (permalink / raw)
  To: Vincent Guittot, David Chen, Zhang Qiao, Peter Zijlstra (Intel),
	Willem de Bruijn
  Cc: Ingo Molnar, Peter Zijlstra, Juri Lelli, Vincent Guittot,
	Valentin Schneider, linux-kernel, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Saeed Mahameed, Tariq Toukan,
	Network Development, Gal Pressman, Malek Imam, Hideaki YOSHIFUJI,
	David Ahern, Tariq Toukan

Hi all,

Our performance verification team spotted a degradation of up to ~20% in 
UDP performance, for a specific combination of parameters.

Our matrix covers several parameters values, like:
IP version: 4/6
MTU: 1500/9000
Msg size: 64/1452/8952 (only when applicable while avoiding ip 
fragmentation).
Num of streams: 1/8/16/24.
Num of directions: unidir/bidir.

Surprisingly, the issue exists only with this specific combination:
8 streams,
MTU 9000,
Msg size 8952,
both ipv4/6,
bidir.
(in unidir it repros only with ipv4)

The reproduction is consistent on all the different setups we tested with.

Bisect [2] was done between these two points, v5.19 (Good), and v6.0-rc1 
(Bad), with ConnectX-6DX NIC.

c82a69629c53eda5233f13fc11c3c01585ef48a2 is the first bad commit [1].

We couldn't come up with a good explanation how this patch causes this 
issue. We also looked for related changes in the networking/UDP stack, 
but nothing looked suspicious.

Maybe someone here can help with this.
We can provide more details or do further tests/experiments to progress 
with the debug.

Thanks,
Tariq

[1]
commit c82a69629c53eda5233f13fc11c3c01585ef48a2
Author: Vincent Guittot <vincent.guittot@linaro.org>
Date:   Fri Jul 8 17:44:01 2022 +0200

     sched/fair: fix case with reduced capacity CPU

     The capacity of the CPU available for CFS tasks can be reduced 
because of
     other activities running on the latter. In such case, it's worth 
trying to
     move CFS tasks on a CPU with more available capacity.
 
 
 

     The rework of the load balance has filtered the case when the CPU 
is 
 

     classified to be fully busy but its capacity is reduced. 
 
 

 
 
 

     Check if CPU's capacity is reduced while gathering load balance 
statistic 
 

     and classify it group_misfit_task instead of group_fully_busy so we 
can 
 

     try to move the load on another CPU. 
 
 

 
 
 

     Reported-by: David Chen <david.chen@nutanix.com> 
 
 

     Reported-by: Zhang Qiao <zhangqiao22@huawei.com> 
 
 

     Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org> 
 
 

     Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> 
 
 

     Tested-by: David Chen <david.chen@nutanix.com> 
 
 

     Tested-by: Zhang Qiao <zhangqiao22@huawei.com> 
 
 

     Link: 
https://lkml.kernel.org/r/20220708154401.21411-1-vincent.guittot@linaro.org 
 
 


[2]

Detailed bisec steps:

+--------------+--------+-----------+-----------+
| Commit       | Status | BW (Gbps) | BW (Gbps) |
|              |        | run1      | run2      |
+--------------+--------+-----------+-----------+
| 526942b8134c | Bad    | ---       | ---       |
+--------------+--------+-----------+-----------+
| 2e7a95156d64 | Bad    | ---       | ---       |
+--------------+--------+-----------+-----------+
| 26c350fe7ae0 | Good   | 279.8     | 281.9     |
+--------------+--------+-----------+-----------+
| 9de1f9c8ca51 | Bad    | 257.243   | ---       |
+--------------+--------+-----------+-----------+
| 892f7237b3ff | Good   | 285       | 300.7     |
+--------------+--------+-----------+-----------+
| 0dd1cabe8a4a | Good   | 305.599   | 290.3     |
+--------------+--------+-----------+-----------+
| dfea84827f7e | Bad    | 250.2     | 258.899   |
+--------------+--------+-----------+-----------+
| 22a39c3d8693 | Bad    | 236.8     | 245.399   |
+--------------+--------+-----------+-----------+
| e2f3e35f1f5a | Good   | 277.599   | 287       |
+--------------+--------+-----------+-----------+
| 401e4963bf45 | Bad    | 250.149   | 248.899   |
+--------------+--------+-----------+-----------+
| 3e8c6c9aac42 | Good   | 299.09    | 294.9     |
+--------------+--------+-----------+-----------+
| 1fcf54deb767 | Good   | 292.719   | 301.299   |
+--------------+--------+-----------+-----------+
| c82a69629c53 | Bad    | 254.7     | 246.1     |
+--------------+--------+-----------+-----------+
| c02d5546ea34 | Good   | 276.4     | 294       |
+--------------+--------+-----------+-----------+

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-04-05 13:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-08 11:08 Bug report: UDP ~20% degradation Tariq Toukan
2023-02-08 14:12 ` Vincent Guittot
2023-02-12 11:50   ` Tariq Toukan
2023-02-22  8:49     ` Tariq Toukan
2023-02-22 16:51       ` Vincent Guittot
2023-04-05 13:19         ` Linux regression tracking (Thorsten Leemhuis)
2023-02-10 18:37 ` Linux regression tracking #adding (Thorsten Leemhuis)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®