Re: [PATCH v8 4/4] sched: Fix cgroup irq time for CONFIG_IRQ_TIME_ACCOUNTING

From: Michal Koutný
Date: Tue Jan 14 2025 - 10:48:35 EST


On Thu, Jan 09, 2025 at 09:46:23PM +0800, Yafang Shao <laoar.shao@xxxxxxxxx> wrote:
> No, in the case of !CONFIG_IRQ_TIME_ACCOUNTING, CPU usage will
> increase as we add more workloads. In other words, this is a
> user-visible behavior change, and we should aim to avoid it.

I wouldn't be excited about that -- differently configured kernel is
supposed to behave differently.

> Document it as follows?

That makes sense to me, with explanation of "where" the time
(dis)appears.

>
> "Enabling CONFIG_IRQ_TIME_ACCOUNTING will exclude IRQ usage from the
> CPU usage of your tasks. In other words, your task's CPU usage will
> only reflect user time and system time."
reflect proper user ...
and IRQ usage is only attributed on the global level visible e.g. in
/proc/stat or irq.pressure (possibly on cgroup level).

> If we document it clearly this way, I believe no one will try to enable it ;-)

I understand that users who want to have the insight between real system
time and IRQ time would enable it.


> It worked well before the introduction of CONFIG_IRQ_TIME_ACCOUNTING.
> Why not just maintain the previous behavior, especially since it's not
> difficult to do so?

Then why do you need CONFIG_IRQ_TIME_ACCOUNTING enabled? Bundling it
together with (not so) random tasks used to work for you.

> We’re unsure how to use this metric to guide us, and I don't think
> there will be clear guidance on how irq.pressure relates to CPU
> utilization. :(

(If irq.pressure is not useful in this case, then when is it useful? I
obviously need to brush up on this.)

Michal