mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
HMP: Update migration timer when we fork-migrate
Prevents fork-migration adversely interacting with normal migration (i.e. runqueues containing forked tasks being selected as migration targets when there is a better choice available) Signed-off-by: Chris Redpath <chris.redpath@arm.com> Signed-off-by: Liviu Dudau <liviu.dudau@arm.com> Signed-off-by: Jon Medhurst <tixy@linaro.org>
This commit is contained in:
committed by
Jon Medhurst
parent
0d520ee8d4
commit
c2111520cf
@@ -4079,18 +4079,26 @@ select_task_rq_fair(struct task_struct *p, int sd_flag, int wake_flags)
|
||||
if(hmp_cpu_is_fastest(prev_cpu)) {
|
||||
struct hmp_domain *hmpdom = list_entry(&hmp_cpu_domain(prev_cpu)->hmp_domains, struct hmp_domain, hmp_domains);
|
||||
__always_unused int lowest_ratio = hmp_domain_min_load(hmpdom, &new_cpu);
|
||||
if(new_cpu != NR_CPUS && cpumask_test_cpu(new_cpu,tsk_cpus_allowed(p)))
|
||||
if (new_cpu != NR_CPUS &&
|
||||
cpumask_test_cpu(new_cpu,
|
||||
tsk_cpus_allowed(p))) {
|
||||
hmp_next_up_delay(&p->se, new_cpu);
|
||||
return new_cpu;
|
||||
else {
|
||||
new_cpu = cpumask_any_and(&hmp_faster_domain(cpu)->cpus,
|
||||
} else {
|
||||
new_cpu = cpumask_any_and(
|
||||
&hmp_faster_domain(cpu)->cpus,
|
||||
tsk_cpus_allowed(p));
|
||||
if(new_cpu < nr_cpu_ids)
|
||||
if (new_cpu < nr_cpu_ids) {
|
||||
hmp_next_up_delay(&p->se, new_cpu);
|
||||
return new_cpu;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
new_cpu = hmp_select_faster_cpu(p, prev_cpu);
|
||||
if (new_cpu != NR_CPUS)
|
||||
if (new_cpu != NR_CPUS) {
|
||||
hmp_next_up_delay(&p->se, new_cpu);
|
||||
return new_cpu;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user