Messages in this thread | | | Date | Tue, 21 Apr 2015 09:16:47 +0100 | From | Juri Lelli <> | Subject | Re: [PATCH 6/7] sched/deadline: depend on clearing throttled status in replenish_dl_entity |
| |
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@linux.intel.com> > --- > 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; >
| |