[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <00bf190a-6d84-48aa-83cb-b25e6c24777c@arm.com>
Date: Mon, 11 May 2020 13:13:00 +0200
From: Dietmar Eggemann <dietmar.eggemann@....com>
To: Parth Shah <parth@...ux.ibm.com>, linux-kernel@...r.kernel.org
Cc: peterz@...radead.org, mingo@...hat.com, vincent.guittot@...aro.org,
qais.yousef@....com, chris.hyser@...cle.com,
pkondeti@...eaurora.org, patrick.bellasi@...bug.net,
valentin.schneider@....com, David.Laight@...LAB.COM,
pjt@...gle.com, pavel@....cz, tj@...nel.org,
dhaval.giani@...cle.com, qperret@...gle.com,
tim.c.chen@...ux.intel.com
Subject: Re: [PATCH v5 3/4] sched: Allow sched_{get,set}attr to change
latency_nice of the task
On 28/02/2020 10:07, Parth Shah wrote:
> Introduce the latency_nice attribute to sched_attr and provide a
> mechanism to change the value with the use of sched_setattr/sched_getattr
> syscall.
>
> Also add new flag "SCHED_FLAG_LATENCY_NICE" to hint the change in
> latency_nice of the task on every sched_setattr syscall.
>
> Signed-off-by: Parth Shah <parth@...ux.ibm.com>
> Reviewed-by: Qais Yousef <qais.yousef@....com>
[...]
ndif /* _UAPI_LINUX_SCHED_TYPES_H */
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index 866ea3d2d284..cd1fb9c8be26 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -4710,6 +4710,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);
> +
> + if (attr->sched_flags & SCHED_FLAG_LATENCY_NICE)
> + p->latency_nice = attr->sched_latency_nice;
> }
How do you make sure that p->latency_nice can be set independently from
p->static_prio?
AFAICS, util_clamp achieves this by relying on SCHED_FLAG_KEEP_PARAMS,
so completely bypassing __setscheduler_params() and using it's own
__setscheduler_uclamp().
[...]
Powered by blists - more mailing lists