sched/deadline: reduce rq lock contention by eliminating locking of non-feasible target
PATCH v2 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.
---
v1 -> v2:
* use dl_time_before macro
kernel/sched/deadline.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
kernel/sched/deadline.c +3 -1
@@ -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 ();
Signature · 1 line
1.9.1
Ping Juri, ;)
Quoted 30 lines · Wanpeng Li
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 <[email protected]>---
v1 -> v2:
* usedl_time_beforemacro
kernel/sched/deadline.c| 4 +++-1 file changed, 3 insertions(+), 1 deletion(-)kernel/sched/deadline.c +3
-1@@ -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 ();Signature · 1 line
1.9.1
Ping Peter, this patch is collected into this patchset https://lkml.org/lkml/2015/4/6/44
Quoted 32 lines · Wanpeng Li
Ping Juri, ;)
Quoted 30 lines · Wanpeng Li
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 <[email protected]>---
v1 -> v2:
* usedl_time_beforemacro
kernel/sched/deadline.c| 4 +++-1 file changed, 3 insertions(+), 1 deletion(-)kernel/sched/deadline.c +3
-1@@ -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 ();Signature · 1 line
1.9.1