Re: [PATCH v2 1/1] sched: Report the different kinds of imbalances in /proc/schedstat

From: Shrikanth Hegde
Date: Fri Mar 15 2024 - 13:07:09 EST




On 3/15/24 7:25 PM, Swapnil Sapkal wrote:
> In /proc/schedstat, lb_imbalance reports the sum of imbalances
> discovered in sched domains with each call to sched_balance_rq(), which is
> not very useful because lb_imbalance does not mention whether the imbalance
> is due to load, utilization, nr_tasks or misfit_tasks. Remove this field
> from /proc/schedstat.
>
> Currently there is no field in /proc/schedstat to report different types
> of imbalances. Introduce new fields in /proc/schedstat to report the
> total imbalances in load, utilization, nr_tasks or misfit_tasks.
>
> Added fields to /proc/schedstat:
> - lb_imbalance_load: Total imbalance due to load.
> - lb_imbalance_util: Total imbalance due to utilization.
> - lb_imbalance_task: Total imbalance due to number of tasks.
> - lb_imbalance_misfit: Total imbalance due to misfit tasks.
>
> Signed-off-by: Swapnil Sapkal <swapnil.sapkal@xxxxxxx>
> ---
> Documentation/scheduler/sched-stats.rst | 119 ++++++++++++++----------
> include/linux/sched/topology.h | 5 +-
> kernel/sched/fair.c | 21 ++++-
> kernel/sched/stats.c | 7 +-
> 4 files changed, 98 insertions(+), 54 deletions(-)
>
> diff --git a/Documentation/scheduler/sched-stats.rst b/Documentation/scheduler/sched-stats.rst
> index 7c2b16c4729d..e2a6b53a38ee 100644
> --- a/Documentation/scheduler/sched-stats.rst
> +++ b/Documentation/scheduler/sched-stats.rst
> @@ -6,10 +6,15 @@ Version 16 of schedstats changed the order of definitions within
> 'enum cpu_idle_type', which changed the order of [CPU_MAX_IDLE_TYPES]
> columns in show_schedstat(). In particular the position of CPU_IDLE
> and __CPU_NOT_IDLE changed places. The size of the array is unchanged.

Size of the array would change after this patch. So this line can be updated.


> +Also stop reporting 'lb_imbalance' as it has no significance anymore
> +and instead add more relevant fields namely 'lb_imbalance_load',
> +'lb_imbalance_util', 'lb_imbalance_task' and 'lb_imbalance_misfit'.
>

Rest of the changes look good to me.
Reviewed-by: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>