sched/fair: Fix negative imbalance in imbalance calculation
authorAubrey Li <aubrey.li@intel.com>
Thu, 26 Mar 2020 05:42:29 +0000 (13:42 +0800)
committerIngo Molnar <mingo@kernel.org>
Wed, 8 Apr 2020 09:35:20 +0000 (11:35 +0200)
commit111688ca1c4a43a7e482f5401f82c46326b8ed49
tree9ff221c39692293560d0b9def0cef07c081abd98
parent26a8b12747c975b33b4a82d62e4a307e1c07f31b
sched/fair: Fix negative imbalance in imbalance calculation

A negative imbalance value was observed after imbalance calculation,
this happens when the local sched group type is group_fully_busy,
and the average load of local group is greater than the selected
busiest group. Fix this problem by comparing the average load of the
local and busiest group before imbalance calculation formula.

Suggested-by: Vincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: Phil Auld <pauld@redhat.com>
Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
Acked-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: Aubrey Li <aubrey.li@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lkml.kernel.org/r/1585201349-70192-1-git-send-email-aubrey.li@intel.com
kernel/sched/fair.c