[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <9515c474-366d-4692-91a7-a4c1a5fc18db@bytedance.com>
Date: Wed, 29 Jan 2025 12:48:09 +0800
From: Abel Wu <wuyun.abel@...edance.com>
To: Michal Koutný <mkoutny@...e.com>
Cc: Tejun Heo <tj@...nel.org>, Johannes Weiner <hannes@...xchg.org>,
Jonathan Corbet <corbet@....net>, Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>, Juri Lelli <juri.lelli@...hat.com>,
Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Steven Rostedt <rostedt@...dmis.org>, Ben Segall <bsegall@...gle.com>,
Mel Gorman <mgorman@...e.de>, Valentin Schneider <vschneid@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>, Yury Norov <yury.norov@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>, Bitao Hu
<yaoma@...ux.alibaba.com>, Chen Ridong <chenridong@...wei.com>,
"open list:CONTROL GROUP (CGROUP)" <cgroups@...r.kernel.org>,
"open list:DOCUMENTATION" <linux-doc@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 3/3] cgroup/rstat: Add run_delay accounting for cgroups
Hi Michal,
On 1/27/25 10:10 PM, Michal Koutný Wrote:
> Hello.
>
> On Sat, Jan 25, 2025 at 01:25:12PM +0800, Abel Wu <wuyun.abel@...edance.com> wrote:
>> The per-task and per-cpu accounting have already been tracked by
>> t->sched_info.run_delay and rq->rq_sched_info.run_delay respectively.
>> Extends this to also include cgroups.
>>
>> The PSI indicator, "some" of cpu.pressure, loses the insight into how
>> severely that cgroup is stalled. Say 100 tasks or just 1 task that gets
>> stalled at a certain point will show no difference in "some" pressure.
>> IOW "some" is a flat value that not weighted by the severity (e.g. # of
>> tasks).
>
> IIUC below are three examples of when "some" tasks are waiting for CPU:
>
> a)
> t1 |----|
> t2 |xx--|
>
> b)
> t1 |----|
> t2 |x---|
> t3 |-x--|
>
> c)
> t1 |----|
> t2 |xx--|
> t3 |xx--|
>
> (- means runnable on CPU, x means runnable waiting on RQ)
>
> Which pair from a), b), c) is indistinguishable via PSI? (Or can you
> please add your illustrative example?)
PSI tracks stall times for each cpu, and
tSOME[cpu] = time(nr_delayed_tasks[cpu] != 0)
which turns nr_delayed_tasks[cpu] into boolean value, hence loses
insight into how severely this task group is stalled on this cpu.
Thanks,
Abel
Powered by blists - more mailing lists