Messages in this thread | | | From | Nicholas Piggin <> | Subject | [PATCH 0/4] Allow CPU0 to be nohz full | Date | Thu, 4 Apr 2019 22:07:00 +1000 |
| |
I've been looking at ways to fix suspend breakage with CPU0 as a nohz CPU. I started looking at various things like allowing CPU0 to take over do_timer again temporarily or allowing nohz full to be stopped at runtime (that is quite a significant change for little real benefit). The problem then was having the housekeeping CPU go offline.
So I decided to try just allowing the freeze to occur on non-zero CPU. This seems to be a lot simpler to get working, but I guess some archs won't be able to deal with this? Would it be okay to make it opt-in per arch?
Thanks, Nick
Nicholas Piggin (4): sched/core: allow the remote scheduler tick to be started on CPU0 kernel/cpu: Allow non-zero CPU to be primary for suspend / kexec freeze kernel/sched/isolation: require a present CPU in housekeeping mask nohz_full: Allow the boot CPU to be full nohz
include/linux/cpu.h | 2 +- kernel/cpu.c | 10 +++++++- kernel/sched/core.c | 2 +- kernel/sched/isolation.c | 18 ++++++++++---- kernel/time/tick-common.c | 50 +++++++++++++++++++++++++++++++++++---- kernel/time/tick-sched.c | 27 +++++++++++---------- 6 files changed, 84 insertions(+), 25 deletions(-)
-- 2.20.1
| |