linux/kernel/time
Joel Fernandes (Google) 58d7668242 tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem
For CONFIG_NO_HZ_FULL systems, the tick_do_timer_cpu cannot be offlined.
However, cpu_is_hotpluggable() still returns true for those CPUs. This causes
torture tests that do offlining to end up trying to offline this CPU causing
test failures. Such failure happens on all architectures.

Fix the repeated error messages thrown by this (even if the hotplug errors are
harmless) by asking the opinion of the nohz subsystem on whether the CPU can be
hotplugged.

[ Apply Frederic Weisbecker feedback on refactoring tick_nohz_cpu_down(). ]

For drivers/base/ portion:
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Frederic Weisbecker <frederic@kernel.org>
Cc: Frederic Weisbecker <frederic@kernel.org>
Cc: "Paul E. McKenney" <paulmck@kernel.org>
Cc: Zhouyi Zhou <zhouzhouyi@gmail.com>
Cc: Will Deacon <will@kernel.org>
Cc: Marc Zyngier <maz@kernel.org>
Cc: rcu <rcu@vger.kernel.org>
Cc: stable@vger.kernel.org
Fixes: 2987557f52 ("driver-core/cpu: Expose hotpluggability to the rest of the kernel")
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
2023-04-05 13:47:43 +00:00
..
alarmtimer.c alarmtimer: Prevent starvation by small intervals and SIG_IGN 2023-02-14 11:18:35 +01:00
clockevents.c clockevents: Repair kernel-doc for clockevent_delta2ns() 2022-12-01 13:35:41 +01:00
clocksource-wdtest.c
clocksource.c clocksource: Suspend the watchdog temporarily when high read latency detected 2023-01-24 15:12:48 -08:00
hrtimer.c hrtimer: Ignore slack time for RT tasks in schedule_hrtimeout_range() 2023-01-31 11:23:07 +01:00
itimer.c
jiffies.c
Kconfig clocksource: Loosen clocksource watchdog constraints 2023-01-03 20:43:45 -08:00
Makefile
namespace.c vdso/timens: Refactor copy-pasted find_timens_vvar_page() helper into one copy 2022-12-01 11:35:40 +01:00
ntp.c
ntp_internal.h
posix-clock.c
posix-cpu-timers.c posix-timers: Use atomic64_try_cmpxchg() in __update_gt_cputime() 2023-02-06 14:22:09 +01:00
posix-stubs.c timers: Prevent union confusion from unexpected restart_syscall() 2023-01-11 19:31:47 +01:00
posix-timers.c timers: Prevent union confusion from unexpected restart_syscall() 2023-01-11 19:31:47 +01:00
posix-timers.h
sched_clock.c time/sched_clock: Fix formatting of frequency reporting code 2022-05-02 14:29:04 +02:00
test_udelay.c time/debug: Fix memory leak with using debugfs_lookup() 2023-02-09 20:12:27 +01:00
tick-broadcast-hrtimer.c time/tick-broadcast: Remove RCU_NONIDLE() usage 2023-01-13 11:48:16 +01:00
tick-broadcast.c cpuidle: Fix ct_idle_*() usage 2023-01-13 11:48:15 +01:00
tick-common.c
tick-internal.h
tick-legacy.c
tick-oneshot.c time: Fix various kernel-doc problems 2023-01-03 11:07:58 +01:00
tick-sched.c tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem 2023-04-05 13:47:43 +00:00
tick-sched.h
time.c time: Fix various kernel-doc problems 2023-01-03 11:07:58 +01:00
time_test.c
timeconst.bc
timeconv.c
timecounter.c
timekeeping.c time: Fix various kernel-doc problems 2023-01-03 11:07:58 +01:00
timekeeping.h
timekeeping_debug.c
timekeeping_internal.h
timer.c timers: Provide timer_shutdown[_sync]() 2022-11-24 15:09:12 +01:00
timer_list.c
vsyscall.c