[tip: sched/core] sched: Fix DEBUG && !SCHEDSTATS warn

From: tip-bot2 for Peter Zijlstra
Date: Wed Oct 06 2021 - 04:34:15 EST


The following commit has been merged into the sched/core branch of tip:

Commit-ID: 769fdf83df57b373660343ef4270b3ada91ef434
Gitweb: https://git.kernel.org/tip/769fdf83df57b373660343ef4270b3ada91ef434
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
AuthorDate: Wed, 06 Oct 2021 10:12:05 +02:00
Committer: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
CommitterDate: Wed, 06 Oct 2021 10:30:57 +02:00

sched: Fix DEBUG && !SCHEDSTATS warn

When !SCHEDSTATS schedstat_enabled() is an unconditional 0 and the
whole block doesn't exist, however GCC figures the scoped variable
'stats' is unused and complains about it.

Upgrade the warning from -Wunused-variable to -Wunused-but-set-variable
by writing it in two statements. This fixes the build because the new
warning is in W=1.

Given that whole if(0) {} thing, I don't feel motivated to change
things overly much and quite strongly feel this is the compiler being
daft.

Fixes: cb3e971c435d ("sched: Make struct sched_statistics independent of fair sched class")
Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
---
kernel/sched/debug.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index 26fac5e..7dcbaa3 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -463,7 +463,8 @@ static void print_cfs_group_stats(struct seq_file *m, int cpu, struct task_group
PN(se->sum_exec_runtime);

if (schedstat_enabled()) {
- struct sched_statistics *stats = __schedstats_from_se(se);
+ struct sched_statistics *stats;
+ stats = __schedstats_from_se(se);

PN_SCHEDSTAT(wait_start);
PN_SCHEDSTAT(sleep_start);