[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e942abce-97ec-4bf1-8220-55bfed18c265@linux.ibm.com>
Date: Tue, 14 May 2024 19:53:58 +0530
From: Shrikanth Hegde <sshegde@...ux.ibm.com>
To: Chen Yu <yu.c.chen@...el.com>, Swapnil Sapkal <swapnil.sapkal@....com>
Cc: linux-kernel@...r.kernel.org, mingo@...hat.com, peterz@...radead.org,
torvalds@...ux-foundation.org, juri.lelli@...hat.com,
dietmar.eggemann@....com, rostedt@...dmis.org, mgorman@...e.de,
bristot@...hat.com, vschneid@...hat.com, vincent.guittot@...aro.org,
gautham.shenoy@....com, kprateek.nayak@....com
Subject: Re: [RESEND][PATCH v3 1/1] sched: Report the different kinds of
imbalances in /proc/schedstat
On 5/14/24 4:44 PM, Chen Yu wrote:
> On 2024-05-14 at 04:44:45 +0000, 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.
>>
>> Reviewed-by: Shrikanth Hegde <sshegde@...ux.ibm.com>
>> Signed-off-by: Swapnil Sapkal <swapnil.sapkal@....com>
>> ---
>> Documentation/scheduler/sched-stats.rst | 121 ++++++++++++++----------
>> include/linux/sched/topology.h | 5 +-
>> kernel/sched/fair.c | 21 +++-
>> kernel/sched/stats.c | 7 +-
>> 4 files changed, 99 insertions(+), 55 deletions(-)
>
> [...]
>
>> diff --git a/kernel/sched/stats.c b/kernel/sched/stats.c
>> index 78e48f5426ee..a02bc9db2f1c 100644
>> --- a/kernel/sched/stats.c
>> +++ b/kernel/sched/stats.c
>> @@ -151,11 +151,14 @@ static int show_schedstat(struct seq_file *seq, void *v)
>> seq_printf(seq, "domain%d %*pb", dcount++,
>> cpumask_pr_args(sched_domain_span(sd)));
>> for (itype = 0; itype < CPU_MAX_IDLE_TYPES; itype++) {
>> - seq_printf(seq, " %u %u %u %u %u %u %u %u",
>> + seq_printf(seq, " %u %u %u %u %u %u %u %u %u %u %u",
>> sd->lb_count[itype],
>> sd->lb_balanced[itype],
>> sd->lb_failed[itype],
>> - sd->lb_imbalance[itype],
>> + sd->lb_imbalance_load[itype],
>> + sd->lb_imbalance_util[itype],
>> + sd->lb_imbalance_task[itype],
>> + sd->lb_imbalance_misfit[itype],
>> sd->lb_gained[itype],
>> sd->lb_hot_gained[itype],
>> sd->lb_nobusyq[itype],
>
> Do we need to increase SCHEDSTAT_VERSION to 16?
It's been increased already as part of below commit
commit 11b0bfa5d463b17cac5bf6b94fea4921713530c3
Author: Ingo Molnar <mingo@...nel.org>
Date: Fri Mar 8 11:58:55 2024 +0100
sched/debug: Increase SCHEDSTAT_VERSION to 16
We changed the order of definitions within 'enum cpu_idle_type',
which changed the order of [CPU_MAX_IDLE_TYPES] columns in
show_schedstat().
>
> thanks,
> Chenyu
Powered by blists - more mailing lists