]> git.baikalelectronics.ru Git - kernel.git/commit
nohz_full: Allow the boot CPU to be nohz_full
authorNicholas Piggin <npiggin@gmail.com>
Thu, 11 Apr 2019 03:34:48 +0000 (13:34 +1000)
committerIngo Molnar <mingo@kernel.org>
Fri, 3 May 2019 17:42:58 +0000 (19:42 +0200)
commitd762975e810db975b236103275e473defa91c015
tree9686097f1c9d4de58a0aac815acc25ea20b02c00
parent8e9a7b314fd02e5373507b0d25069904f823dbe8
nohz_full: Allow the boot CPU to be nohz_full

Allow the boot CPU/CPU0 to be nohz_full. Have the boot CPU take the
do_timer duty during boot until a housekeeping CPU can take over.

This is supported when CONFIG_PM_SLEEP_SMP is not configured, or when
it is configured and the arch allows suspend on non-zero CPUs.

nohz_full has been trialed at a large supercomputer site and found to
significantly reduce jitter. In order to deploy it in production, they
need CPU0 to be nohz_full because their job control system requires
the application CPUs to start from 0, and the housekeeping CPUs are
placed higher. An equivalent job scheduling that uses CPU0 for
housekeeping could be achieved by modifying their system, but it is
preferable if nohz_full can support their environment without
modification.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rafael J . Wysocki <rafael.j.wysocki@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linuxppc-dev@lists.ozlabs.org
Link: https://lkml.kernel.org/r/20190411033448.20842-6-npiggin@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/time/tick-common.c
kernel/time/tick-sched.c