Re: [RFC 3/3] Allow sched_{get,set}attr to change latency_tolerance of the task

From: Dietmar Eggemann
Date: Fri Dec 06 2019 - 11:05:04 EST




On 05.12.19 10:24, Dietmar Eggemann wrote:
> On 03/12/2019 16:51, Parth Shah wrote:
>>
>> On 12/3/19 2:09 PM, Qais Yousef wrote:
>>> On 11/25/19 15:16, Parth Shah wrote:
>
> [...]
>
>>>> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
>>>> index ea7abbf5c1bb..dfd36ec14404 100644
>>>> --- a/kernel/sched/core.c
>>>> +++ b/kernel/sched/core.c
>>>> @@ -4695,6 +4695,9 @@ static void __setscheduler_params(struct task_struct *p,
>>>> p->rt_priority = attr->sched_priority;
>>>> p->normal_prio = normal_prio(p);
>>>> set_load_weight(p, true);
>>>> +
>>>> + /* Change latency tolerance of the task if !SCHED_FLAG_KEEP_PARAMS */
>
> IMHO, this comment seems to be gratuitous.
>
>>>> + p->latency_tolerance = attr->sched_latency_tolerance;
>>>> }
>
> [...]
>

This also would require some changes to UAPI
(include/uapi/linux/sched.h, include/uapi/linux/sched/types.h), see
commit a509a7cd7974 ("sched/uclamp: Extend sched_setattr() to support
utilization clamping") and tools headers UAPI
(tools/include/uapi/linux/sched.h), see commit c093de6bd3c5 ("tools
headers UAPI: Sync sched.h with the kernel").