All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH] hrtimer: Update softirq_expires_next correctly after __hrtimer_get_next_event()
@ 2021-04-13 16:55 Maciej Żenczykowski
  2021-04-13 17:14 ` Greg KH
  0 siblings, 1 reply; 22+ messages in thread
From: Maciej Żenczykowski @ 2021-04-13 16:55 UTC (permalink / raw)
  To: Ingo Molnar, Greg KH, Anna-Maria Behnsen
  Cc: linux-kernel, mikael.beckius, tglx, Lorenzo Colitti,
	Maciej Żenczykowski

This patch (or at least the version of it that showed up in 5.10.24
LTS when combined with Android Common Kernel and some arm phone
platform drivers) causes a roughly 60% regression (from ~5.3-6 gbps
down to ~2.2gbps) on running pktgen when egressing via ncm gadget on a
SuperSpeed+ 10gbps USB3 connection.

The regression is not there in 5.10.23, and is present in 5.10.24 and
5.10.26.  Reverting just this one patch is confirmed to restore
performance (both on 5.10.24 and 5.10.26).

We don't know the cause, as we know nothing about hrtimers... but we
lightly suspect that the ncm->task_timer in f_ncm.c is perhaps not
firing as often as it should...

Unfortunately I have no idea how to replicate this on commonly
available hardware (or with a pure stable or 5.11/5.12 Linus tree)
since it requires a gadget capable usb3.1 10gbps controller (which I
only have access to in combination with a 5.10-based arm+dwc3 soc).

(the regression is visible with just usb3.0, but it's smaller due to
usb3.0 topping out at just under 4gbps, though it still drops to
2.2gbps -- and this still doesn't help since usb3 gadget capable
controllers are nearly as rare)

- Maciej & Lorenzo

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

end of thread, other threads:[~2021-05-14 19:29 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-13 16:55 [PATCH] hrtimer: Update softirq_expires_next correctly after __hrtimer_get_next_event() Maciej Żenczykowski
2021-04-13 17:14 ` Greg KH
2021-04-14  2:49   ` Lorenzo Colitti
2021-04-15 16:47     ` Thomas Gleixner
2021-04-20  3:12       ` Maciej Żenczykowski
2021-04-20  6:44         ` Thomas Gleixner
2021-04-20  8:15       ` Lorenzo Colitti
2021-04-20 14:19         ` Thomas Gleixner
2021-04-21 14:08           ` Lorenzo Colitti
2021-04-21 14:40             ` Lorenzo Colitti
2021-04-21 15:22               ` Greg KH
2021-04-22  0:08             ` Thomas Gleixner
2021-04-22 10:07               ` Thomas Gleixner
2021-04-22 14:20               ` Lorenzo Colitti
2021-04-22 15:35                 ` Thomas Gleixner
2021-04-26  8:49           ` [PATCH] hrtimer: Avoid double reprogramming in __hrtimer_start_range_ns() Thomas Gleixner
2021-04-26  9:40             ` Peter Zijlstra
2021-04-26 12:25               ` Peter Zijlstra
2021-05-14 19:29                 ` Thomas Gleixner
2021-04-26 12:33               ` Thomas Gleixner
2021-04-26 12:40                 ` Peter Zijlstra
2021-04-26 14:27                   ` Thomas Gleixner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.