Re: [tip:timers/core] [timers] 7ee9887703: netperf.Throughput_Mbps -1.2% regression

From: Frederic Weisbecker
Date: Tue Mar 05 2024 - 06:35:40 EST


On Tue, Mar 05, 2024 at 10:17:43AM +0800, Oliver Sang wrote:
> 20.97 ± 3% -9.7 11.23 ± 16% -9.6 11.40 ± 4% perf-profile.calltrace.cycles-pp.__napi_poll.net_rx_action.__do_softirq.irq_exit_rcu.sysvec_apic_timer_interrupt

And yes, fewer time spent in IRQ-tail softirq processing.

> 1.70 ± 13% +5.6 7.28 ± 14% +5.8 7.54 ± 15% perf-profile.calltrace.cycles-pp.__napi_poll.net_rx_action.__do_softirq.run_ksoftirqd.smpboot_thread_fn

And more time spent in ksoftirqd softirq processing.

This can match the increase in involuntary context switches: IRQ-tail softirq
processing takes too much time, possibly due to long lasting remote timer
expiring, ksoftirqd is then scheduled, preempting netperf (through
might_resched()/cond_resched()) as this is a voluntary preemption kernel).

Thanks.