diff options
author | Peter Zijlstra <[email protected]> | 2020-05-24 21:29:55 +0100 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2020-05-25 07:01:44 +0200 |
commit | c6e7bd7afaeb3af55ffac122828035f1c01d1d7b (patch) | |
tree | f1e77c6930f4ead3cfb4e231fd5fede2779b1cf5 /tools/perf/scripts/python/export-to-sqlite.py | |
parent | d505b8af58912ae1e1a211fabc9995b19bd40828 (diff) |
sched/core: Optimize ttwu() spinning on p->on_cpu
Both Rik and Mel reported seeing ttwu() spend significant time on:
smp_cond_load_acquire(&p->on_cpu, !VAL);
Attempt to avoid this by queueing the wakeup on the CPU that owns the
p->on_cpu value. This will then allow the ttwu() to complete without
further waiting.
Since we run schedule() with interrupts disabled, the IPI is
guaranteed to happen after p->on_cpu is cleared, this is what makes it
safe to queue early.
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Signed-off-by: Mel Gorman <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
Cc: Jirka Hladky <[email protected]>
Cc: Vincent Guittot <[email protected]>
Cc: [email protected]
Cc: Hillf Danton <[email protected]>
Cc: Rik van Riel <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions