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

S.Çağlar Onur
2006-09-23T09:36:47Z

[-- Attachment #1: Type: text/plain, Size: 1919 bytes --]

23 Eyl 2006 Cts 02:13 tarihinde, Dave Jones şunları yazmıştı:
> 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

Ill try

> --- 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

What about cpufreq_stats_exit, it has same locking? Seems like rmmod may cause
same problem or im totaly wrong?

Cheer