summaryrefslogtreecommitdiffstats
path: root/Documentation/scheduler
diff options
context:
space:
mode:
authorJason Low <jason.low2@hp.com>2014-09-02 00:41:24 -0700
committerIngo Molnar <mingo@kernel.org>2014-09-09 06:47:29 +0200
commit8236d907ab3411ad452280faa8b26c1347327380 (patch)
tree54955da72837f14cdeb0de54878988ab29b930e7 /Documentation/scheduler
parent5cd038f53ed9ec7a17ab7d536a727363080f4210 (diff)
downloadlinux-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