[SRU][K/L][PATCH 0/1] fix cgroups v1 blkio.throttle statistics

Andrea Righi andrea.righi at canonical.com
Tue May 9 05:18:19 UTC 2023


BugLink: https://bugs.launchpad.net/bugs/2016186

[Impact]

Commit f382fb0bcef4 ("block: remove legacy IO schedulers") introduced a
behavior change in the blkio throttle cgroup subsystem: IO statistics
are not reported anymore unless a throttling rule is explicitly defined,
because the current code only counts bios that are actually throttled.

This behavior change is potentially breaking some user-space
applications that are relying on the old behavior (see original bug
report).

[Test case]

 - mount cgroup v1
 - create a blkio cgroup
 - move a task into the blkio cgroup
 - perform some I/O (i.e., dd)
 - read the IO stats for the cgroup (blkio.throttle.io_serviced and
   blkio.throttle.io_service_bytes in cgroupfs)
 - IO stats are all 0, unless a throttle rule is defined

Previous behavior (kernel 5.15) was showing I/O statistics even without
throttling rules defined.

[Fix]

Apply / backport this fix:
https://lore.kernel.org/lkml/20230507170631.89607-1-hanjinke.666@bytedance.com/t/

[Regression potential]

The fix is affecting the block IO cgroup subsystem, we may see potential
regressions in this particular cgroup subsystem with this fix applied.

[Additional notes]

This fix is provided as SAUCE patch for now, but it is likely to be
applied to the upstream stable trees at this point (it has been
submitted upstream and well tested).




More information about the kernel-team mailing list