[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <xhsmhy1d5ids9.mognet@vschneid-thinkpadt14sgen2i.remote.csb>
Date: Thu, 04 Jan 2024 11:38:46 +0100
From: Valentin Schneider <vschneid@...hat.com>
To: alexs@...nel.org, 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>, Daniel Bristot
de Oliveira <bristot@...hat.com>, linux-kernel@...r.kernel.org
Cc: curuwang@...cent.com, Alex Shi <alexs@...nel.org>
Subject: Re: [PATCH v2] sched/stat: correct the task blocking state
On 03/01/24 16:10, alexs@...nel.org wrote:
> From: Alex Shi <alexs@...nel.org>
>
> The commit 80ed87c8a9ca ("sched/wait: Introduce TASK_NOLOAD and TASK_IDLE")
> stopped the idle kthreads from contributing to the load average. However,
> the idle state time still contributes to the blocked state time instead of
> the sleep time. As a result, we cannot determine if a task is stopped due
> to some reasons or if it is idle by its own initiative.
>
> Distinguishing between these two states would make the system state clearer
> and provide us with an opportunity to use the 'D' state of a task as an
> indicator of latency issues.
>
get_task_state() already reports TASK_IDLE as 'I', which should be what
userspace sees (e.g. via /proc/$pid/stat). This is also the case for the
sched_switch and sched_wakeup trace events.
I assume what you mean here is you first turn to schedstats to check
whether there is any abnormal amount of blocking, and then if there is any
you turn to tracing, in which case you'd like the schedstats to not make
things look worse than they really are?
Powered by blists - more mailing lists