Re: [PATCH 6/7] sched/deadline: depend on clearing throttled status in replenish_dl_entity
From: Wanpeng Li
Date: Tue Apr 21 2015 - 04:28:34 EST
Hi Juri,
On Tue, Apr 21, 2015 at 09:16:47AM +0100, Juri Lelli wrote:
>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().
Cool, many thanks for your review. :)
Regards,
Wanpeng Li
>
>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/