Re: [PATCH v3 3/4] sched/fair: Add cfs bandwidth burst statistics

From: Peter Zijlstra
Date: Wed Mar 10 2021 - 08:12:14 EST


On Thu, Jan 21, 2021 at 07:04:52PM +0800, Huaixin Chang wrote:
> Introduce statistics exports for the burstable cfs bandwidth
> controller.
>
> The following exports are included:
>
> current_bw: current runtime in global pool
> nr_burst: number of periods bandwidth burst occurs
> burst_time: cumulative wall-time that any cpus has
> used above quota in respective periods
>
> Signed-off-by: Huaixin Chang <changhuaixin@xxxxxxxxxxxxxxxxx>
> Signed-off-by: Shanpei Chen <shanpeic@xxxxxxxxxxxxxxxxx>

Consistently fail.

> ---
> kernel/sched/core.c | 6 ++++++
> kernel/sched/fair.c | 12 +++++++++++-
> kernel/sched/sched.h | 3 +++
> 3 files changed, 20 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index fecf0f05ef0c..80ca763ca492 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -7986,6 +7986,8 @@ static int tg_set_cfs_bandwidth(struct task_group *tg, u64 period, u64 quota,
> cfs_b->runtime = min(max_cfs_runtime, cfs_b->runtime);
> }
>
> + cfs_b->previous_runtime = cfs_b->runtime;
> +
> /* Restart the period timer (if active) to handle new period expiry: */
> if (runtime_enabled)
> start_cfs_bandwidth(cfs_b, 1);
> @@ -8234,6 +8236,10 @@ static int cpu_cfs_stat_show(struct seq_file *sf, void *v)
> seq_printf(sf, "wait_sum %llu\n", ws);
> }
>
> + seq_printf(sf, "current_bw %llu\n", cfs_b->runtime);
> + seq_printf(sf, "nr_burst %d\n", cfs_b->nr_burst);
> + seq_printf(sf, "burst_time %llu\n", cfs_b->burst_time);
> +
> return 0;
> }
> #endif /* CONFIG_CFS_BANDWIDTH */

This is ABI; and the Changelog has no justification what so ever...