[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d67d420f-8cd4-4b56-8a93-ebbd513268e8@arm.com>
Date: Mon, 14 Oct 2024 17:04:34 +0100
From: Christian Loehle <christian.loehle@....com>
To: Qais Yousef <qyousef@...alina.io>, Ingo Molnar <mingo@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Vincent Guittot <vincent.guittot@...aro.org>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Viresh Kumar <viresh.kumar@...aro.org>
Cc: Juri Lelli <juri.lelli@...hat.com>, Steven Rostedt <rostedt@...dmis.org>,
Dietmar Eggemann <dietmar.eggemann@....com>, John Stultz
<jstultz@...gle.com>, linux-pm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH 08/16] sched/fair: Extend util_est to improve rampup
time
On 8/20/24 17:35, Qais Yousef wrote:
> Utilization invariance can cause big delays. When tasks are running,
> accumulate non-invairiant version of utilization to help tasks to settle
> down to their new util_avg values faster.
>
> Keep track of delta_exec during runnable across activations to help
> update util_est for a long running task accurately. util_est shoudl
> still behave the same at enqueue/dequeue.
For periodic tasks that have longer slices (~tick) this overestimates
util_est by a lot.
AFAICS this also breaks util_est for co-scheduling tasks of different slice
lengths.
I'm testing with HZ=1000, but should work for any. On a RK3399, all pinned
to one big.
Having task A be 10ms period with 20% util (running for 2ms when scheduled)
and tasks B+ with 1ms period and 1% util.
I guess 9/16 tries to work around that somewhat but without any leeway that
doesn't work. Even rt-app tasks will vary slightly in their util_est values:
Task A only:
mainline:
A:
util_avg: 192 util_est: 204
9/16 sched/fair: util_est: Take into account periodic tasks
A:
util_avg: 185 util_est: 423
8 tasks:
mainline:
A:
util_avg: 229 util_est: 229
The rest
util_avg: 12 util_est: 24
9/16 sched/fair: util_est: Take into account periodic tasks
A:
util_avg: 242 util_est: 643
The rest:
util_avg: 12 util_est: 50
Powered by blists - more mailing lists