summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2012-05-11 17:31:26 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-02-20 10:45:32 -0800
commite2d51f27e382be7b70a755f3ea2fbbeacdb50834 (patch)
tree893a14b43a9eda39df07c1a6879c74f197977358 /include
parent1c2bd0db1189643691557ff34406906b053cef92 (diff)
downloadlwn-e2d51f27e382be7b70a755f3ea2fbbeacdb50834.tar.gz
lwn-e2d51f27e382be7b70a755f3ea2fbbeacdb50834.zip
sched/nohz: Fix rq->cpu_load[] calculations
commit 556061b00c9f2fd6a5524b6bde823ef12f299ecf upstream. While investigating why the load-balancer did funny I found that the rq->cpu_load[] tables were completely screwy.. a bit more digging revealed that the updates that got through were missing ticks followed by a catchup of 2 ticks. The catchup assumes the cpu was idle during that time (since only nohz can cause missed ticks and the machine is idle etc..) this means that esp. the higher indices were significantly lower than they ought to be. The reason for this is that its not correct to compare against jiffies on every jiffy on any other cpu than the cpu that updates jiffies. This patch cludges around it by only doing the catch-up stuff from nohz_idle_balance() and doing the regular stuff unconditionally from the tick. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: pjt@google.com Cc: Venkatesh Pallipadi <venki@google.com> Link: http://lkml.kernel.org/n/tip-tp4kj18xdd5aj4vvj0qg55s2@git.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org> Cc: Li Zefan <lizefan@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions