alexs@alex-panda:~$ head -2 /proc/interrupts; sleep 10 ; head -2 /proc/interrupts CPU0 CPU1 29: 12567 9783 GIC 29 twd CPU0 CPU1 29: 12814 9942 GIC 29 twd
Then enabled CONFIG_NO_HZ_FULL_ALL. more than 200/second interrupt increased.
alexs@alex-panda:~$ head -2 /proc/interrupts; sleep 10 ; head -2 /proc/interrupts CPU0 CPU1 29: 34969 6384 GIC 29 twd CPU0 CPU1 29: 37172 6646 GIC 29 twd
There are various context requirements to let a CPU shut down its tick most of the time: having at most 1 task running, no posix cpu timers, not use perf events based on frequency (which is the default behaviour of perf record), etc...
Try this selftest if you want to see how it behaves it your system:
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/dynticks-testing.git
Oh, I know. This patch could get better power consumption when there is a task running.
But how could it do better in idle state instead of preventing CPU0 in deep idle.