Re: [BUG] warning at kernel/cpu.c:38/lock_cpu_hotplug()

Dave Jones
2006-09-22T23:13:48Z

On Sat, Sep 23, 2006 at 01:45:16AM +0300, S.Çağlar Onur wrote:
> Hi;
>
> With kernel-2.6.18, "modprobe cpufreq_stats" always (i can reproduce) gaves
> following;
>
> ...
> 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

This should do the trick.
I'll merge the same patch into cpufreq.git

Dave

--- linux-2.6.18.noarch/drivers/cpufreq/cpufreq_stats.c~ 2006-09-22 19:12:57.000000000 -0400
+++ linux-2.6.18.noarch/drivers/cpufreq/cpufreq_stats.c 2006-09-22 19:13:03.000000000 -0400
@@ -350,12 +350,10 @@ __init cpufreq_stats_init(void)
}

register_hotcpu_notifier(&cpufreq_stat_cpu_notifier);
- lock_cpu_hotplug();
for_each_online_cpu(cpu) {
cpufreq_stat_cpu_callback(&cpufreq_stat_cpu_notifier, CPU_ONLINE,
(void *)(long)cpu);
}
- unlock_cpu_hotplug();
return 0;
}
static void

--