summaryrefslogtreecommitdiffstats
path: root/kernel/cpu.c
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2025-02-05 19:12:37 +0200
committerJani Nikula <jani.nikula@intel.com>2025-02-05 19:12:37 +0200
commitea9f8f2b21795a5d80418a655bcb212d5b89e08f (patch)
tree16190fb8cb798e7643667784b5a85f60de1f755e /kernel/cpu.c
parentbdcdb913c2d36447ea49d33774e5d6093c55d6f7 (diff)
parent2014c95afecee3e76ca4a56956a936e23283f05b (diff)
downloadlinux-ea9f8f2b21795a5d80418a655bcb212d5b89e08f.tar.gz
linux-ea9f8f2b21795a5d80418a655bcb212d5b89e08f.zip
Merge drm/drm-next into drm-intel-next
Sync with v6.14-rc1. Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'kernel/cpu.c')
-rw-r--r--kernel/cpu.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/kernel/cpu.c b/kernel/cpu.c
index b605334f8ee6..07455d25329c 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -905,12 +905,13 @@ static int finish_cpu(unsigned int cpu)
struct mm_struct *mm = idle->active_mm;
/*
- * idle_task_exit() will have switched to &init_mm, now
- * clean up any remaining active_mm state.
+ * sched_force_init_mm() ensured the use of &init_mm,
+ * drop that refcount now that the CPU has stopped.
*/
- if (mm != &init_mm)
- idle->active_mm = &init_mm;
+ WARN_ON(mm != &init_mm);
+ idle->active_mm = NULL;
mmdrop_lazy_tlb(mm);
+
return 0;
}
@@ -2179,7 +2180,7 @@ static struct cpuhp_step cpuhp_hp_states[] = {
},
[CPUHP_AP_HRTIMERS_DYING] = {
.name = "hrtimers:dying",
- .startup.single = NULL,
+ .startup.single = hrtimers_cpu_starting,
.teardown.single = hrtimers_cpu_dying,
},
[CPUHP_AP_TICK_DYING] = {
@@ -3128,11 +3129,6 @@ void init_cpu_possible(const struct cpumask *src)
cpumask_copy(&__cpu_possible_mask, src);
}
-void init_cpu_online(const struct cpumask *src)
-{
- cpumask_copy(&__cpu_online_mask, src);
-}
-
void set_cpu_online(unsigned int cpu, bool online)
{
/*