Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: mutex: Fix optimistic spinning vs. BKL
This commit is contained in:
commit
fa7eadab4b
|
@ -171,6 +171,13 @@ __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass,
|
||||||
for (;;) {
|
for (;;) {
|
||||||
struct thread_info *owner;
|
struct thread_info *owner;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If we own the BKL, then don't spin. The owner of
|
||||||
|
* the mutex might be waiting on us to release the BKL.
|
||||||
|
*/
|
||||||
|
if (unlikely(current->lock_depth >= 0))
|
||||||
|
break;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If there's an owner, wait for it to either
|
* If there's an owner, wait for it to either
|
||||||
* release the lock or go to sleep.
|
* release the lock or go to sleep.
|
||||||
|
|
Loading…
Reference in New Issue