Messages in this thread | | | Date | Fri, 1 Dec 2006 07:13:13 +0530 | From | Gautham R Shenoy <> | Subject | Re: CPUFREQ-CPUHOTPLUG: Possible circular locking dependency |
| |
On Thu, Nov 30, 2006 at 09:29:34AM +0100, Ingo Molnar wrote: > what lockdep does is it observes actual locking dependencies as they > happen individually in various contexts, and then 'completes' the > dependency graph by combining all the possible scenarios how contexts > might preempt each other. So if lockdep sees independent dependencies > and concludes that they are circular, there's nothing that saves us from > the deadlock.
Ingo,
Consider a case where we have three locks A, B and C. We have very clear locking rule inside the kernel that lock A *should* be acquired before acquiring either lock B or lock C.
At runtime lockdep detects the two dependency chains, A --> B --> C
and
A --> C --> B.
Does lockdep issue a circular dependency warning for this ? It's quite clear from the locking rule that we cannot have a circular deadlock, since A acts as a mutex for B->C / C->B callpath.
Just curious :-) [ Well, I might encounter such a scenario in an attempt to make cpufreq cpu-hotplug safe! ]
> Ingo
Thanks and Regards gautham. -- Gautham R Shenoy Linux Technology Center IBM India. "Freedom comes with a price tag of responsibility, which is still a bargain, because Freedom is priceless!" - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |