Re: [PATCH 6/7] sched/deadline: depend on clearing throttled status in replenish_dl_entity

From: Juri Lelli
Date: Tue Apr 21 2015 - 04:17:03 EST


Hi,

On 06/04/2015 09:53, Wanpeng Li wrote:
> Since the natural place to clear ->dl_throttled is in replenish_dl_entity(), and
> the task which is adjusted the priority is the current, it will be dequeued and
> then enqueued w/ replenish which can guarantee ->dl_throttled can be cleared,
> this patch drop the clear throttled status in function rt_mutex_setprio.
>

Patch looks good. But, I'd slightly change subject and changelog. Something like
this, maybe?

sched/core: remove superfluous resetting of dl_throttled flag

Resetting dl_throttled flag in rt_mutex_setprio (for a task that is going
to be boosted) is superfluous, as the natural place to do so is in
replenish_dl_entity(). If the task was on the runqueue and it is boosted
by a DL task, it will be enqueued back with ENQUEUE_REPLENISH flag set,
which can guarantee that dl_throttled is reset in replenish_dl_entity().

This patch drops the resetting of throttled status in function
rt_mutex_setprio().

Thanks,

- Juri

> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
> ---
> kernel/sched/core.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index 28b0d75..f1b9222 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -3037,7 +3037,6 @@ void rt_mutex_setprio(struct task_struct *p, int prio)
> if (!dl_prio(p->normal_prio) ||
> (pi_task && dl_entity_preempt(&pi_task->dl, &p->dl))) {
> p->dl.dl_boosted = 1;
> - p->dl.dl_throttled = 0;
> enqueue_flag = ENQUEUE_REPLENISH;
> } else
> p->dl.dl_boosted = 0;
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/