Re: [RFC 0/3] Introduce per-task latency_tolerance for scheduler hints

From: Dietmar Eggemann
Date: Thu Dec 05 2019 - 09:04:06 EST


On 05/12/2019 11:49, Valentin Schneider wrote:
>
> On 05/12/2019 09:24, Dietmar Eggemann wrote:
>> On 25/11/2019 10:46, Parth Shah wrote:
>>> This patch series is based on the discussion started as the "Usecases for
>>> the per-task latency-nice attribute"[1]
>>>
>>> This patch series introduces a new per-task attribute latency_tolerance to
>>> provide the scheduler hints about the latency requirements of the task.
>>
>> I forgot but is there a chance to have this as a per-taskgroup attribute
>> as well?
>>
>
> Peter argued we should go for task attributes first, and then
> cgroup/taskgroups later on:
>
> https://lore.kernel.org/lkml/20190905083127.GA2332@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/

OK, I went through this thread again. So Google or we have to provide
the missing per-taskgroup API via cpu controller's attributes (like for
uclamp) for the EAS usecase.

After reading:

https://lore.kernel.org/r/20190905114030.GL2349@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

IMHO the following mapping of the existing Android (binary)
latency_sensitive per-taskgroup flag makes sense:

latency_sensitive=1 -> latency_tolerance*[-20 .. -1] (less tolerant,
more sensitive)

latency_sensitive=0 -> latency_tolerance[0 .. 19] (more tolerant, less
sensitive)

Default value is 0 so not latency_sensitive.

* Since we use [-20 .. 19] as values for latency_tolerance we could name
it latency_nice. It's shorter ... ?