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

From: Frederic Weisbecker
Date: Thu Jul 08 2021 - 07:35:06 EST


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
> CPU0 CPU1 CPU2 CPU3 CPU4 CPU5
> 12396 326 325 323 320 321 GIC-0� 27 Level���� arch_timer

Strange, I'm not observing that on a raspberry 3b+ (arm64 defconfig):

# cat /proc/cmdline
console=tty0 console=ttyS1,115200 root=/dev/sda2 rw fsck.repair=yes net.ifnames=0 cma=64M rootwait isolcpus=1-3 nohz_full=1-3

# uname -a
Linux rpi3 5.13.0 #3 SMP PREEMPT Thu Jul 8 13:08:39 CEST 2021 aarch64 GNU/Linux

# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
108: 165376 25 25 25 bcm2836-timer 1 Edge arch_timer


But let's see if I can successfully boot your own config...