Re: [PATCH V2 0/3] Introduce Thermal Pressure

From: Ingo Molnar
Date: Thu Apr 25 2019 - 13:33:41 EST



* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Wed, Apr 17, 2019 at 08:29:32PM +0200, Ingo Molnar wrote:
> > Assuming PeterZ & Rafael & Quentin doesn't hate the whole thermal load
> > tracking approach.
>
> I seem to remember competing proposals, and have forgotten everything
> about them; the cover letter also didn't have references to them or
> mention them in any way.
>
> As to the averaging and period, I personally prefer a PELT signal with
> the windows lined up, if that really is too short a window, then a PELT
> like signal with a natural multiple of the PELT period would make sense,
> such that the windows still line up nicely.
>
> Mixing different averaging methods and non-aligned windows just makes me
> uncomfortable.

Yeah, so the problem with PELT is that while it nicely approximates
variable-period decay calculations with plain additions, shifts and table
lookups (i.e. accelerates pow()), AFAICS the most important decay
parameter is fixed: the speed of decay, the dampening factor, which is
fixed at 32:

Documentation/scheduler/sched-pelt.c

#define HALFLIFE 32

Right?

Thara's numbers suggest that there's high sensitivity to the speed of
decay. By using PELT we'd be using whatever averaging speed there is
within PELT.

Now we could make that parametric of course, but that would both
complicate the PELT lookup code (one more dimension) and would negatively
affect code generation in a number of places.

Thanks,

Ingo