Pull timer core updates from Thomas Gleixner: - Prevent a thundering herd problem when the timekeeper CPU is delayed and a large number of CPUs compete to acquire jiffies_lock to do the update. Limit it to one CPU with a separate "uncontended" atomic variable. - A set of improvements for the timer migration mechanism: - Support imbalanced NUMA trees correctly - Support dynamic exclusion of CPUs from the migrator duty to allow the cpuset/isolation mechanism to exclude them from handling timers of remote idle CPUs - The usual small updates, cleanups and enhancements * tag 'timers-core-2025-11-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: timers/migration: Exclude isolated cpus from hierarchy cpumask: Add initialiser to use cleanup helpers sched/isolation: Force housekeeping if isolcpus and nohz_full don't leave any cgroup/cpuset: Rename update_unbound_workqueue_cpumask() to update_isolation_cpumasks() timers/migration: Use scoped_guard on available flag set/clear timers/migration: Add mask for CPUs available in the hierarchy timers/migration: Rename 'online' bit to 'available' selftests/timers/nanosleep: Add tests for return of remaining time selftests/timers: Clean up kernel version check in posix_timers time: Fix a few typos in time[r] related code comments time: tick-oneshot: Add missing Return and parameter descriptions to kernel-doc hrtimer: Store time as ktime_t in restart block timers/migration: Remove dead code handling idle CPU checking for remote timers timers/migration: Remove unused "cpu" parameter from tmigr_get_group() timers/migration: Assert that hotplug preparing CPU is part of stable active hierarchy timers/migration: Fix imbalanced NUMA trees timers/migration: Remove locking on group connection timers/migration: Convert "while" loops to use "for" tick/sched: Limit non-timekeeper CPUs calling jiffies update
Showing the changes to include/trace (1 of 16 files). Show all
Unified · Split
| @@ -173,14 +173,14 @@ DEFINE_EVENT(tmigr_cpugroup, tmigr_cpu_active, · 172 unmodified lines | ||
| 173 | 173 | TP_ARGS(tmc) |
| 174 | 174 | ); |
| 175 | 175 | |
| 176 | −DEFINE_EVENT(tmigr_cpugroup, tmigr_cpu_online, | |
| 176 | +DEFINE_EVENT(tmigr_cpugroup, tmigr_cpu_available, | |
| 177 | 177 | |
| 178 | 178 | TP_PROTO(struct tmigr_cpu *tmc), |
| 179 | 179 | |
| 180 | 180 | TP_ARGS(tmc) |
| 181 | 181 | ); |
| 182 | 182 | |
| 183 | −DEFINE_EVENT(tmigr_cpugroup, tmigr_cpu_offline, | |
| 183 | +DEFINE_EVENT(tmigr_cpugroup, tmigr_cpu_unavailable, | |
| 184 | 184 | |
| 185 | 185 | TP_PROTO(struct tmigr_cpu *tmc), |
| 186 | 186 | |