Commit 76c389ab authored by Valentin Schneider's avatar Valentin Schneider Committed by Ingo Molnar

sched/fair: Fix kernel build warning in test_idle_cores() for !SMT NUMA

Building against the tip/sched/core as ff7db0bf ("sched/numa: Prefer
using an idle CPU as a migration target instead of comparing tasks") with
the arm64 defconfig (which doesn't have CONFIG_SCHED_SMT set) leads to:

  kernel/sched/fair.c:1525:20: warning: 'test_idle_cores' declared 'static' but never defined [-Wunused-function]
   static inline bool test_idle_cores(int cpu, bool def);
		      ^~~~~~~~~~~~~~~

Rather than define it in its own CONFIG_SCHED_SMT #define island, bunch it
up with test_idle_cores().
Reported-by: default avatarAnshuman Khandual <anshuman.khandual@arm.com>
Reported-by: default avatarNaresh Kamboju <naresh.kamboju@linaro.org>
Reviewed-by: default avatarLukasz Luba <lukasz.luba@arm.com>
[mgorman@techsingularity.net: Edit changelog, minor style change]
Signed-off-by: default avatarValentin Schneider <valentin.schneider@arm.com>
Signed-off-by: default avatarMel Gorman <mgorman@techsingularity.net>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
Fixes: ff7db0bf ("sched/numa: Prefer using an idle CPU as a migration target instead of comparing tasks")
Link: https://lkml.kernel.org/r/20200303110258.1092-3-mgorman@techsingularity.net
parent 05289b90
...@@ -1533,9 +1533,6 @@ static inline bool is_core_idle(int cpu) ...@@ -1533,9 +1533,6 @@ static inline bool is_core_idle(int cpu)
return true; return true;
} }
/* Forward declarations of select_idle_sibling helpers */
static inline bool test_idle_cores(int cpu, bool def);
struct task_numa_env { struct task_numa_env {
struct task_struct *p; struct task_struct *p;
...@@ -1571,9 +1568,11 @@ numa_type numa_classify(unsigned int imbalance_pct, ...@@ -1571,9 +1568,11 @@ numa_type numa_classify(unsigned int imbalance_pct,
return node_fully_busy; return node_fully_busy;
} }
#ifdef CONFIG_SCHED_SMT
/* Forward declarations of select_idle_sibling helpers */
static inline bool test_idle_cores(int cpu, bool def);
static inline int numa_idle_core(int idle_core, int cpu) static inline int numa_idle_core(int idle_core, int cpu)
{ {
#ifdef CONFIG_SCHED_SMT
if (!static_branch_likely(&sched_smt_present) || if (!static_branch_likely(&sched_smt_present) ||
idle_core >= 0 || !test_idle_cores(cpu, false)) idle_core >= 0 || !test_idle_cores(cpu, false))
return idle_core; return idle_core;
...@@ -1584,10 +1583,15 @@ static inline int numa_idle_core(int idle_core, int cpu) ...@@ -1584,10 +1583,15 @@ static inline int numa_idle_core(int idle_core, int cpu)
*/ */
if (is_core_idle(cpu)) if (is_core_idle(cpu))
idle_core = cpu; idle_core = cpu;
#endif
return idle_core; return idle_core;
} }
#else
static inline int numa_idle_core(int idle_core, int cpu)
{
return idle_core;
}
#endif
/* /*
* Gather all necessary information to make NUMA balancing placement * Gather all necessary information to make NUMA balancing placement
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment