diff options
author | Jason Low <jason.low2@hp.com> | 2014-09-02 00:41:24 -0700 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2014-09-09 06:47:29 +0200 |
commit | 8236d907ab3411ad452280faa8b26c1347327380 (patch) | |
tree | 54955da72837f14cdeb0de54878988ab29b930e7 /Documentation/scheduler | |
parent | 5cd038f53ed9ec7a17ab7d536a727363080f4210 (diff) | |
download | linux-stable-8236d907ab3411ad452280faa8b26c1347327380.tar.gz linux-stable-8236d907ab3411ad452280faa8b26c1347327380.tar.bz2 linux-stable-8236d907ab3411ad452280faa8b26c1347327380.zip |
sched: Reduce contention in update_cfs_rq_blocked_load()
When running workloads on 2+ socket systems, based on perf profiles, the
update_cfs_rq_blocked_load() function often shows up as taking up a
noticeable % of run time.
Much of the contention is in __update_cfs_rq_tg_load_contrib() when we
update the tg load contribution stats. However, it turns out that in many
cases, they don't need to be updated and "tg_contrib" is 0.
This patch adds a check in __update_cfs_rq_tg_load_contrib() to skip updating
tg load contribution stats when nothing needs to be updated. This reduces the
cacheline contention that would be unnecessary.
Reviewed-by: Ben Segall <bsegall@google.com>
Reviewed-by: Waiman Long <Waiman.Long@hp.com>
Signed-off-by: Jason Low <jason.low2@hp.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Paul Turner <pjt@google.com>
Cc: jason.low2@hp.com
Cc: Yuyang Du <yuyang.du@intel.com>
Cc: Aswin Chandramouleeswaran <aswin@hp.com>
Cc: Chegu Vinod <chegu_vinod@hp.com>
Cc: Scott J Norton <scott.norton@hp.com>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/1409643684.19197.15.camel@j-VirtualBox
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'Documentation/scheduler')
0 files changed, 0 insertions, 0 deletions