[PATCH v6 0/3] sched/fair: Burstable CFS bandwidth controller

From: Huaixin Chang
Date: Mon Jun 21 2021 - 05:28:12 EST


Changelog:
v6:
- Separate burst config to cpu.max.burst.
- Rewrite commit log and document for burst feature.
- Remove global sysfsctl to disable burst feature.
- Some code mofication.
- Rebase upon v5.13-rc6.

v5:
- Rearrange into 3 patches, one less than the previous version.
- The interference to other groups are valued.
- Put a limit on burst, so that code is further simplified.
- Rebase upon v5.13-rc3.
Link:
https://lore.kernel.org/lkml/20210520123419.8039-1-changhuaixin@xxxxxxxxxxxxxxxxx/

v4:
- Adjust assignments in tg_set_cfs_bandwidth(), saving unnecessary
assignemnts when quota == RUNTIME_INF.
- Getting rid of sysctl_sched_cfs_bw_burst_onset_percent, as there seems
no justification for both controlling start bandwidth and a percent
way.
- Comment improvement in sched_cfs_period_timer() shifts on explaining
why max_overrun shifting to 0 is a problem.
- Rename previous_runtime to runtime_at_period_start.
- Add cgroup2 interface and documentation.
- Getting rid of exposing current_bw as there are not enough
justification and the updating problem.
- Add justification on cpu.stat change in the changelog.
- Rebase upon v5.12-rc3.
- Correct SoB chain.
- Several indentation fixes.
- Adjust quota in schbench test from 700000 to 600000.
Link:
https://lore.kernel.org/lkml/20210316044931.39733-1-changhuaixin@xxxxxxxxxxxxxxxxx/

v3:
- Fix another issue reported by test robot.
- Update docs as Randy Dunlap suggested.
Link:
https://lore.kernel.org/lkml/20210120122715.29493-1-changhuaixin@xxxxxxxxxxxxxxxxx/

v2:
- Fix an issue reported by test robot.
- Rewriting docs. Appreciate any further suggestions or help.
Link:
https://lore.kernel.org/lkml/20210121110453.18899-1-changhuaixin@xxxxxxxxxxxxxxxxx/

v1 Link:
https://lore.kernel.org/lkml/20201217074620.58338-1-changhuaixin@xxxxxxxxxxxxxxxxx/

Previously, Cong Wang and Konstantin Khlebnikov proposed similar
feature:
https://lore.kernel.org/lkml/20180522062017.5193-1-xiyou.wangcong@xxxxxxxxx/
https://lore.kernel.org/lkml/157476581065.5793.4518979877345136813.stgit@buzz/

This time we present more latency statistics and handle overflow while
accumulating.

Huaixin Chang (3):
sched/fair: Introduce the burstable CFS controller
sched/fair: Add cfs bandwidth burst statistics
sched/fair: Add document for burstable CFS bandwidth

Documentation/admin-guide/cgroup-v2.rst | 17 +++---
Documentation/scheduler/sched-bwc.rst | 76 ++++++++++++++++++++++----
include/linux/sched/sysctl.h | 1 +
kernel/sched/core.c | 96 ++++++++++++++++++++++++++-------
kernel/sched/fair.c | 32 ++++++++++-
kernel/sched/sched.h | 4 ++
kernel/sysctl.c | 9 ++++
7 files changed, 200 insertions(+), 35 deletions(-)

--
2.14.4.44.g2045bb6