Messages in this thread | | | From | Roland Dreier <> | Date | Fri, 18 May 2012 09:42:58 -0700 | Subject | Re: lockdep false positive in double_lock_balance()? |
| |
> *phew* you actually made me think there ;-)
Sorry for that.
> The race you describe exists, except that's not how lockdep works. Both > cpu's would have a different task (one would hope to presume) and the > held lock stack is per task. So even if busiest_rq on cpu1 (lock case) > is the same lock as this_rq on cpu0 (unlock case), they're in different > stacks with different states.
Got it. I confused myself between user processes (which might have multiple threads on multiple CPUs) and kernel tasks.
> Something like this should fix it I think..
Thanks, I'll throw this in and let you know if we see this again. But it's very rare so hard to know one way or another for quite a while.
- R.
| |