]> 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)
commita68b40e6d86ae5caca52aec216e27fa37b49be92
tree9686097f1c9d4de58a0aac815acc25ea20b02c00
parent4695ab6eb111a258da2bd23fd39120adae5e2ebf
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