Messages in this thread | | | Date | Tue, 07 Apr 2015 14:48:12 +0100 | From | Juri Lelli <> | Subject | Re: [PATCH 3/7] sched/deadline: reduce rq lock contention by eliminating locking of non-feasible target |
| |
Hi,
On 06/04/2015 09:53, Wanpeng Li wrote: > This patch adds check 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. >
This commit introduced also this kind of check in find_lock_lowest_rq(). Don't we need something like this in find_lock_later_rq() as well?
Thanks,
- Juri
> Signed-off-by: Wanpeng Li <wanpeng.li@linux.intel.com> > --- > 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 3bd3158..b8b9355 100644 > --- a/kernel/sched/deadline.c > +++ b/kernel/sched/deadline.c > @@ -1012,7 +1012,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(); >
| |