[CPUFREQ] Fix some more CPU hotplug locking.
Lukewarm IQ detected in hotplug locking BUG: warning at kernel/cpu.c:38/lock_cpu_hotplug() [<b0134a42>] lock_cpu_hotplug+0x42/0x65 [<b02f8af1>] cpufreq_update_policy+0x25/0xad [<b0358756>] kprobe_flush_task+0x18/0x40 [<b0355aab>] schedule+0x63f/0x68b [<b01377c2>] __link_module+0x0/0x1f [<b0119e7d>] __cond_resched+0x16/0x34 [<b03560bf>] cond_resched+0x26/0x31 [<b0355b0e>] wait_for_completion+0x17/0xb1 [<f965c547>] cpufreq_stat_cpu_callback+0x13/0x20 [cpufreq_stats] [<f9670074>] cpufreq_stats_init+0x74/0x8b [cpufreq_stats] [<b0137872>] sys_init_module+0x91/0x174 [<b0102c81>] sysenter_past_esp+0x56/0x79 As there are other places that call cpufreq_update_policy without the hotplug lock, it seems better to keep the hotplug locking at the lower level for the time being until this is revamped. Signed-off-by: Dave Jones <davej@redhat.com>
This commit is contained in:
parent
8adcc0c674
commit
ddad65df00
@ -350,12 +350,10 @@ __init cpufreq_stats_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
register_hotcpu_notifier(&cpufreq_stat_cpu_notifier);
|
register_hotcpu_notifier(&cpufreq_stat_cpu_notifier);
|
||||||
lock_cpu_hotplug();
|
|
||||||
for_each_online_cpu(cpu) {
|
for_each_online_cpu(cpu) {
|
||||||
cpufreq_stat_cpu_callback(&cpufreq_stat_cpu_notifier, CPU_ONLINE,
|
cpufreq_stat_cpu_callback(&cpufreq_stat_cpu_notifier, CPU_ONLINE,
|
||||||
(void *)(long)cpu);
|
(void *)(long)cpu);
|
||||||
}
|
}
|
||||||
unlock_cpu_hotplug();
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
static void
|
static void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user