Re: [PATCH v2] timers: Recalculate next timer interrupt only when necessary

Frederic Weisbecker
2021-07-08T15:36:30Z

On Thu, Jul 08, 2021 at 02:43:01PM +0800, He Zhe wrote:
> Hi,
>
> Ever since this commit merged in, when nohz_full enabled, the counts of arch_timer interrupt on arm64 arches keep increasing on cores that have been isolated. This can be reproduced on several arm64 boards. After reverting the commit, the counts would stop increasing after boot. my .config is attached.
>
> root@qemuarm64:~# uname -a
> Linux qemuarm64 5.13.0 #1 SMP PREEMPT Mon Jul 5 07:11:27 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
> root@qemuarm64:~# cat /proc/cmdline
> root=/dev/vda rw  mem=2048M ip=dhcp console=ttyAMA0 console=hvc0  earlyprintk isolcpus=1-5 nohz_full=1-5 rcu_nocbs=1-5
> root@qemuarm64:~# cat /proc/interrupts

And I'm not observing that on default aarch64 on qemu either.
Are you emulating a specific machine?

Can you enable the following trace events and send me the output from
one of the isolated CPU trace, say CPU 3 for example:

DIR=/sys/kernel/debug/tracing

echo 1 > $DIR/events/irq/enable
echo 1 > $DIR/events/sched/sched_switch/enable
echo 1 > $DIR/events/irq_vectors/enable
echo 1 > $DIR/events/workqueue/workqueue_execute_start/enable
echo 1 > $DIR/events/timer/hrtimer_expire_entry/enable
echo 1 > $DIR/events/timer/timer_expire_entry/enable
echo 1 > $DIR/events/timer/tick_stop/enable
sleep 10
cat $DIR/per_cpu/cpu0/trace > ~/output_to_send