sched: Simplify sched_info_on()
authorPeter Zijlstra <peterz@infradead.org>
Tue, 4 May 2021 20:43:42 +0000 (22:43 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 12 May 2021 09:43:24 +0000 (11:43 +0200)
commitc5895d3f06cbb80ccb311f1dcb37074651030cb6
tree08635c51d53ed97b16fa29b7f0bd5ad66bc1b687
parent4e29fb709885eda5f0d1fa3418e6ead01a64e46d
sched: Simplify sched_info_on()

The situation around sched_info is somewhat complicated, it is used by
sched_stats and delayacct and, indirectly, kvm.

If SCHEDSTATS=Y (but disabled by default) sched_info_on() is
unconditionally true -- this is the case for all distro kernel configs
I checked.

If for some reason SCHEDSTATS=N, but TASK_DELAY_ACCT=Y, then
sched_info_on() can return false when delayacct is disabled,
presumably because there would be no other users left; except kvm is.

Instead of complicating matters further by accurately accounting
sched_stat and kvm state, simply unconditionally enable when
SCHED_INFO=Y, matching the common distro case.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Link: https://lkml.kernel.org/r/20210505111525.121458839@infradead.org
include/linux/sched/stat.h
kernel/delayacct.c
kernel/sched/stats.h