• Nicholas Piggin's avatar
    nohz_full: Allow the boot CPU to be nohz_full · 08ae95f4
    Nicholas Piggin authored
    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: default avatarNicholas Piggin <npiggin@gmail.com>
    Signed-off-by: default avatarPeter 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.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    08ae95f4
tick-sched.c 34.2 KB