aboutsummaryrefslogtreecommitdiffstats
path: root/fs/proc/array.c
diff options
context:
space:
mode:
authorPeter Zijlstra <[email protected]>2017-05-08 14:51:41 +0000
committerIngo Molnar <[email protected]>2017-09-29 17:35:14 +0000
commit2a2f5d4e44ed160a5ed822c94e04f918f9fbb487 (patch)
tree044c01816758a1501c3565f6ebb53ef2c34c3ea9 /fs/proc/array.c
parentsched/fair: Use reweight_entity() for set_user_nice() (diff)
downloadkernel-2a2f5d4e44ed160a5ed822c94e04f918f9fbb487.tar.gz
kernel-2a2f5d4e44ed160a5ed822c94e04f918f9fbb487.zip
sched/fair: Rewrite cfs_rq->removed_*avg
Since on wakeup migration we don't hold the rq->lock for the old CPU we cannot update its state. Instead we add the removed 'load' to an atomic variable and have the next update on that CPU collect and process it. Currently we have 2 atomic variables; which already have the issue that they can be read out-of-sync. Also, two atomic ops on a single cacheline is already more expensive than an uncontended lock. Since we want to add more, convert the thing over to an explicit cacheline with a lock in. Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: [email protected] Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'fs/proc/array.c')
0 files changed, 0 insertions, 0 deletions