Messages in this thread |  | | Subject | Re: [PATCH v4 2/2] sched: Skip priority checks with SCHED_FLAG_KEEP_PARAMS | From | Dietmar Eggemann <> | Date | Thu, 29 Jul 2021 19:34:14 +0200 |
| |
On 27/07/2021 12:16, Quentin Perret wrote: > On Monday 26 Jul 2021 at 14:56:10 (+0100), Quentin Perret wrote: >> On Thursday 22 Jul 2021 at 10:47:33 (+0200), Dietmar Eggemann wrote: >>> (*) This changes the behaviour when setting uclamp values on a DL task. >>> >>> Before uclamp values could be set but now, because of >>> >>> void __getparam_dl(struct task_struct *p, struct sched_attr *attr) >>> .. >>> attr->sched_flags = dl_se->flags >>> >>> SCHED_FLAG_UTIL_CLAMP gets overwritten and __sched_setscheduler() bails in: >>> >>> if (unlikely(policy == p->policy)) { >>> ... >>> retval = 0; >>> goto unlock; >>> } >>> change: >>> >>> I.e. the: >>> >>> if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP) >>> goto change; >>> >>> can't trigger anymore. >> >> Bah, as you said it doesn't seem to be a big deal, but clearly that was >> unintentional. Let me try and fix this. > > While looking at this I found existing bugs in the area. Fixes are here: > > https://lore.kernel.org/lkml/20210727101103.2729607-1-qperret@google.com/ > > And with the above series applied this patch should behave correctly > now.
It does. Like depicted in
https://lkml.kernel.org/r/e6d103f1-f8ee-cad9-c7c0-c9ea5d0f099a@arm.com
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
|  |