On 11/14/2013 08:08 PM, Russell King - ARM Linux wrote:
On Thu, Nov 14, 2013 at 12:53:15PM +0100, Frederic Weisbecker wrote:
BTW, support for ARM's full dynticks is uncomplete without "[PATCH] ARM: Support arch_irq_work_raise() via self IPIs"
...which I'm not sure is applied upstream, or even any ARM tree yet.
It's in mainline as of last night, along with a fix to the above patch.
I saw this in linus tree and in tip/master. According to content, it seems no effort on this issue. The following testing base on latest code.
btw, the full_all do cause more interrupts.
# # Timers subsystem # CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ_COMMON=y # CONFIG_HZ_PERIODIC is not set # CONFIG_NO_HZ_IDLE is not set CONFIG_NO_HZ_FULL=y # CONFIG_NO_HZ_FULL_ALL is not set CONFIG_NO_HZ_FULL_SYSIDLE=y CONFIG_NO_HZ_FULL_SYSIDLE_SMALL=2 CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y
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