diff options
author | Peter Zijlstra <peterz@infradead.org> | 2021-10-06 10:12:05 +0200 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2021-10-06 10:30:57 +0200 |
commit | 769fdf83df57b373660343ef4270b3ada91ef434 (patch) | |
tree | 5e5c6c358455c465750908d8a9a6e888b4e34ff1 /kernel/sched | |
parent | a7ba894821b6ade7bb420455f87020b2838d6180 (diff) | |
download | lwn-769fdf83df57b373660343ef4270b3ada91ef434.tar.gz lwn-769fdf83df57b373660343ef4270b3ada91ef434.zip |
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@canb.auug.org.au>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Diffstat (limited to 'kernel/sched')
-rw-r--r-- | kernel/sched/debug.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c index 26fac5e28bc0..7dcbaa31c5d9 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); |