[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CABCjUKCbsm5xywfG-jvZcHssgNcPk2B2h7n3jbSY6_M8p3YxSA@mail.gmail.com>
Date: Wed, 25 Sep 2024 20:04:37 +0900
From: Suleiman Souhlal <suleiman@...gle.com>
To: Ingo Molnar <mingo@...hat.com>, Peter Zijlstra <peterz@...radead.org>,
Juri Lelli <juri.lelli@...hat.com>, Vincent Guittot <vincent.guittot@...aro.org>
Cc: 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>, Paolo Bonzini <pbonzini@...hat.com>, joelaf@...gle.com,
vineethrp@...gle.com, linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
ssouhlal@...ebsd.org, Srikar Dronamraju <srikar@...ux.ibm.com>,
David Woodhouse <dwmw2@...radead.org>, Sean Christopherson <seanjc@...gle.com>
Subject: Re: [PATCH v2] sched: Don't try to catch up excess steal time.
On Wed, Sep 11, 2024 at 8:16 PM Suleiman Souhlal <suleiman@...gle.com> wrote:
>
> When steal time exceeds the measured delta when updating clock_task, we
> currently try to catch up the excess in future updates.
> However, this results in inaccurate run times for the future things using
> clock_task, as they end up getting additional steal time that did not
> actually happen.
>
> For example, suppose a task in a VM runs for 10ms and had 15ms of steal
> time reported while it ran. clock_task rightly doesn't advance. Then, a
> different taks runs on the same rq for 10ms without any time stolen in
> the host.
> Because of the current catch up mechanism, clock_sched inaccurately ends
> up advancing by only 5ms instead of 10ms even though there wasn't any
> actual time stolen. The second task is getting charged for less time
> than it ran, even though it didn't deserve it.
> This can result in tasks getting more run time than they should actually
> get.
>
> So, we instead don't make future updates pay back past excess stolen time.
>
> Signed-off-by: Suleiman Souhlal <suleiman@...gle.com>
> ---
> v2:
> - Slightly changed to simply moving one line up instead of adding
> new variable.
>
> v1: https://lore.kernel.org/lkml/20240806111157.1336532-1-suleiman@google.com
> ---
> kernel/sched/core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Friendly ping.
Thanks,
-- Suleiman
Powered by blists - more mailing lists