Skip to contentSkip to conversation

sched/deadline: reduce rq lock contention by eliminating locking of non-feasible target

PATCH Superseded Wanpeng Li 1 participant 1 message Mar 23, 2015 Scheduler

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore

Wanpeng Li

author
#0 lore raw

PATCH 1/1 sched/deadline: reduce rq lock contention by eliminating locking of non-feasible target

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.

---
 kernel/sched/deadline.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
kernel/sched/deadline.c +2 -1
index 19d716e..9577db0 100644
@@ -955,7 +955,8 @@ 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 &&
+			p->dl.deadline < cpu_rq(target)->dl.earliest_dl.curr)
 			cpu = target;
 	}
 	rcu_read_unlock();
Signature · 1 line
1.9.1