Messages in this thread | | | Date | Fri, 10 Feb 2017 13:39:33 +0000 | From | Juri Lelli <> | Subject | Re: [PATCH] sched/deadline: Remove redundant code replenishing runtime |
| |
Hi,
On 10/02/17 18:11, Byungchul Park wrote: > For a task passing its deadline while !rq, it will be replenished > in the following path because dl_se->deadline < rq_lock. > > enqueue_dl_entity(ENQUEUE_WAKEUP) > update_dl_entity > > Therefore, code replenishing it in the timer callback in the case is > unnecessary. This is not for enhancing performance but just for removing > a redundant code. > > Signed-off-by: Byungchul Park <byungchul.park@lge.com> > --- > kernel/sched/deadline.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c > index 27737f3..9c77696 100644 > --- a/kernel/sched/deadline.c > +++ b/kernel/sched/deadline.c > @@ -624,10 +624,8 @@ static enum hrtimer_restart dl_task_timer(struct hrtimer *timer) > * We can be both throttled and !queued. Replenish the counter > * but do not enqueue -- wait for our wakeup to do that. > */ > - if (!task_on_rq_queued(p)) { > - replenish_dl_entity(dl_se, dl_se);
I think we actually want to replenish and set the next deadline at this point of time, not the one that we get when the task will eventually wake up.
Best,
- Juri
| |