diff options
| author | Kirill Tkhai <[email protected]> | 2014-08-20 13:48:01 +0400 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2014-08-20 14:53:03 +0200 |
| commit | e5673f280501298dbb56efa46e333cf64ee5080a (patch) | |
| tree | 1de6b29733b2c8d65b2644e7517ac10bfb4a1a16 /tools/perf/scripts/python/event_analyzing_sample.py | |
| parent | a1e01829796aa7a993e28ffd7fee5c8d525be175 (diff) | |
sched/fair: Remove double_lock_balance() from active_load_balance_cpu_stop()
Avoid double_rq_lock() and use the TASK_ON_RQ_MIGRATING state for
active_load_balance_cpu_stop(). The advantage is (obviously) not
holding two 'rq->lock's at the same time and thereby increasing
parallelism.
Further note that if there was no task to migrate we will not
have acquired the second rq->lock at all.
The important point to note is that because we acquire dst->lock
immediately after releasing src->lock the potential wait time of
task_rq_lock() callers on TASK_ON_RQ_MIGRATING is not longer
than it would have been in the double rq lock scenario.
Signed-off-by: Kirill Tkhai <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Paul Turner <[email protected]>
Cc: Oleg Nesterov <[email protected]>
Cc: Steven Rostedt <[email protected]>
Cc: Mike Galbraith <[email protected]>
Cc: Kirill Tkhai <[email protected]>
Cc: Tim Chen <[email protected]>
Cc: Nicolas Pitre <[email protected]>
Cc: Linus Torvalds <[email protected]>
Link: http://lkml.kernel.org/r/1408528081.23412.92.camel@tkhai
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/event_analyzing_sample.py')
0 files changed, 0 insertions, 0 deletions