Messages in this thread Patch in this message | | | From | Byungchul Park <> | Subject | [PATCH] sched/deadline: Remove redundant code replenishing runtime | Date | Fri, 10 Feb 2017 18:11:28 +0900 |
| |
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); + if (!task_on_rq_queued(p)) goto unlock; - } #ifdef CONFIG_SMP if (unlikely(!rq->online)) { -- 1.9.1
| |