Messages in this thread Patch in this message | | | From | Wanpeng Li <> | Subject | [PATCH v2] sched/deadline: reduce rq lock contention by eliminating locking of non-feasible target | Date | Mon, 23 Mar 2015 17:02:13 +0800 |
| |
This patch adds checks that prevents futile attempts to move dl tasks to a CPU with active tasks of equal or earlier deadline. The same behavior as commit 80e3d87b2c55 ("sched/rt: Reduce rq lock contention by eliminating locking of non-feasible target") for rt class.
Signed-off-by: Wanpeng Li <wanpeng.li@linux.intel.com> --- v1 -> v2: * use dl_time_before macro
kernel/sched/deadline.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index 19d716e..f48d319 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c @@ -955,7 +955,9 @@ select_task_rq_dl(struct task_struct *p, int cpu, int sd_flag, int flags) (p->nr_cpus_allowed > 1)) { int target = find_later_rq(p); - if (target != -1) + if (target != -1 && + dl_time_before(p->dl.deadline, + cpu_rq(target)->dl.earliest_dl.curr)) cpu = target; } rcu_read_unlock(); -- 1.9.1
| |