mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
sched: remove prio preference from balance decisions
Priority looses much of its meaning in a hierarchical context. So don't use it in balance decisions. Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com> Cc: Mike Galbraith <efault@gmx.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
4be9daaa1b
commit
051c67640e
1 changed files with 3 additions and 9 deletions
|
@ -2896,7 +2896,7 @@ balance_tasks(struct rq *this_rq, int this_cpu, struct rq *busiest,
|
||||||
enum cpu_idle_type idle, int *all_pinned,
|
enum cpu_idle_type idle, int *all_pinned,
|
||||||
int *this_best_prio, struct rq_iterator *iterator)
|
int *this_best_prio, struct rq_iterator *iterator)
|
||||||
{
|
{
|
||||||
int loops = 0, pulled = 0, pinned = 0, skip_for_load;
|
int loops = 0, pulled = 0, pinned = 0;
|
||||||
struct task_struct *p;
|
struct task_struct *p;
|
||||||
long rem_load_move = max_load_move;
|
long rem_load_move = max_load_move;
|
||||||
|
|
||||||
|
@ -2912,14 +2912,8 @@ balance_tasks(struct rq *this_rq, int this_cpu, struct rq *busiest,
|
||||||
next:
|
next:
|
||||||
if (!p || loops++ > sysctl_sched_nr_migrate)
|
if (!p || loops++ > sysctl_sched_nr_migrate)
|
||||||
goto out;
|
goto out;
|
||||||
/*
|
|
||||||
* To help distribute high priority tasks across CPUs we don't
|
if ((p->se.load.weight >> 1) > rem_load_move ||
|
||||||
* skip a task if it will be the highest priority task (i.e. smallest
|
|
||||||
* prio value) on its new queue regardless of its load weight
|
|
||||||
*/
|
|
||||||
skip_for_load = (p->se.load.weight >> 1) > rem_load_move +
|
|
||||||
SCHED_LOAD_SCALE_FUZZ;
|
|
||||||
if ((skip_for_load && p->prio >= *this_best_prio) ||
|
|
||||||
!can_migrate_task(p, busiest, this_cpu, sd, idle, &pinned)) {
|
!can_migrate_task(p, busiest, this_cpu, sd, idle, &pinned)) {
|
||||||
p = iterator->next(iterator->arg);
|
p = iterator->next(iterator->arg);
|
||||||
goto next;
|
goto next;
|
||||||
|
|
Loading…
Reference in a new issue