diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-07 15:43:58 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-07 15:43:58 -0800 |
| commit | 8cfc7f9c005313ecd4e98ad1feb391d8dfce9ed2 (patch) | |
| tree | 39a3a898f5a15f3c190e7b1a09815f13bbaef77c /kernel | |
| parent | Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jb... (diff) | |
| parent | sched: fix possible recursive rq->lock (diff) | |
| download | linux-8cfc7f9c005313ecd4e98ad1feb391d8dfce9ed2.tar.gz linux-8cfc7f9c005313ecd4e98ad1feb391d8dfce9ed2.zip | |
Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
sched: fix possible recursive rq->lock
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/sched.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index 2e3545f57e77..deb5ac8c12f3 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -3728,8 +3728,13 @@ redo: } double_unlock_balance(this_rq, busiest); + /* + * Should not call ttwu while holding a rq->lock + */ + spin_unlock(&this_rq->lock); if (active_balance) wake_up_process(busiest->migration_thread); + spin_lock(&this_rq->lock); } else sd->nr_balance_failed = 0; |
