5.14-rc breaks iotop swap io monitoring.

From: Dave Jones
Date: Mon Aug 23 2021 - 23:24:01 EST


I just noticed that in 5.14-rc running iotop, it complains on startup
that "CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine
SWAPIN and IO %" and sure enough a bunch of columns show up as
'unavailable'.

My suspicion is this commit, which I've not confirmed yet as it doesn't
cleanly revert. I'll poke at it some more in the morning, but figured
I'd bring it up sans-evidence in the hope that I'll wake up to someone
having an Ah-ha moment.

Dave


commit c5895d3f06cbb80ccb311f1dcb37074651030cb6
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Tue May 4 22:43:42 2021 +0200

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@xxxxxxxxxxxxx>
Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>
Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
Link: https://lkml.kernel.org/r/20210505111525.121458839@xxxxxxxxxxxxx