Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1726002

Re: [RFC 1/3] sched/fair: add util_est on top of PELT

From Patrick Bellasi <patrick.bellasi@arm.com>
Newsgroups linux.kernel
Subject Re: [RFC 1/3] sched/fair: add util_est on top of PELT
Date 2017-09-04 13:20 +0200
Message-ID <ulXA5-4OA-5@gated-at.bofh.it> (permalink)
References <uik2d-2OI-3@gated-at.bofh.it> <uik2e-2OI-7@gated-at.bofh.it> <ujGtI-6nZ-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 29-Aug 10:06, Pavan Kondeti wrote:
> Hi Patrick,
> 
> On Fri, Aug 25, 2017 at 3:50 PM, Patrick Bellasi
> <patrick.bellasi@arm.com> wrote:
> > The util_avg signal computed by PELT is too variable for some use-cases.
> > For example, a big task waking up after a long sleep period will have its
> > utilization almost completely decayed. This introduces some latency before
> > schedutil will be able to pick the best frequency to run a task.
> >
> > The same issue can affect task placement. Indeed, since the task
> > utilization is already decayed at wakeup, when the task is enqueued in a
> > CPU, this can results in a CPU running a big task as being temporarily
> > represented as being almost empty. This leads to a race condition where
> > other tasks can be potentially allocated on a CPU which just started to run
> > a big task which slept for a relatively long period.
> >
> > Moreover, the utilization of a task is, by PELT definition, a continuously
> > changing metrics. This contributes in making almost instantly outdated some
> > decisions based on the value of the PELT's utilization.
> >
> > For all these reasons, a more stable signal could probably do a better job
> > of representing the expected/estimated utilization of a SE/RQ. Such a
> > signal can be easily created on top of PELT by still using it as an
> > estimator which produces values to be aggregated once meaningful events
> > happens.
> >
> > This patch adds a simple implementation of util_est, a new signal built on
> > top of PELT's util_avg where:
> >
> >     util_est(se) = max(se::util_avg, f(se::util_avg@dequeue_times))
> >
> 
> I don't see any wrapper function in this patch that implements this
> signal. You want to use this signal in the task placement path as a
> replacement of task_util(), right?

You right, I should update this changelog which is a bit misleading.

What I'm writing above is the way we combine a task's estimated
utilization with its util_avg. That's what you find in the code of the
following patches, but strictly speacking we do not have a wrapper
function.

> Thanks,
> Pavan

Cheers Patrick

-- 
#include <best/regards.h>

Patrick Bellasi

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Re: [RFC 1/3] sched/fair: add util_est on top of PELT Pavan Kondeti <pkondeti@codeaurora.org> - 2017-08-29 06:40 +0200
  Re: [RFC 1/3] sched/fair: add util_est on top of PELT Patrick Bellasi <patrick.bellasi@arm.com> - 2017-09-04 13:20 +0200

csiph-web