Re: S06cpuspeed/2637 is trying to acquire lock (&(&dbs_info->work)->work (was: Re: [PATCH 4/6] x86/cpufreq: use cpumask_copy instead of =)

Dave Jones
2009-06-10T21:00:21Z

On Wed, Jun 10, 2009 at 01:10:35PM +0200, Ingo Molnar wrote:
>
> With a v2.6.30 based kernel i'm still getting a cpufreq lockdep
> warning:
>
> =======================================================
> [ INFO: possible circular locking dependency detected ]
> 2.6.30-tip #10420
> -------------------------------------------------------
> S06cpuspeed/2637 is trying to acquire lock:
> (&(&dbs_info->work)->work){+.+...}, at: [<ffffffff8106553d>] __cancel_work_timer+0xd6/0x22a
>
> but task is already holding lock:
> (dbs_mutex){+.+.+.}, at: [<ffffffff8193d630>] cpufreq_governor_dbs+0x28f/0x335
>
> This bug got introduced somewhere late in the .30-rc cycle, this box
> was fine before.

See the thread " [PATCH] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)"
Though there's a report that the last patch posted still doesn't fix the problem,
so we still don't have a quick fix suitable for -stable.

It's this .. http://bugzilla.kernel.org/show_bug.cgi?id=13493
b14893a62c73af0eca414cfed505b8c09efc613c fixed one locking problem, but
introduced this as a side-effect. The whole thing is a mess really.

Dave