|
@@ -4285,7 +4285,6 @@ static int wake_affine(struct sched_domain *sd, struct task_struct *p, int sync)
|
|
|
{
|
|
|
s64 this_load, load;
|
|
|
int idx, this_cpu, prev_cpu;
|
|
|
- unsigned long tl_per_task;
|
|
|
struct task_group *tg;
|
|
|
unsigned long weight;
|
|
|
int balanced;
|
|
@@ -4343,32 +4342,15 @@ static int wake_affine(struct sched_domain *sd, struct task_struct *p, int sync)
|
|
|
balanced = this_eff_load <= prev_eff_load;
|
|
|
} else
|
|
|
balanced = true;
|
|
|
-
|
|
|
- /*
|
|
|
- * If the currently running task will sleep within
|
|
|
- * a reasonable amount of time then attract this newly
|
|
|
- * woken task:
|
|
|
- */
|
|
|
- if (sync && balanced)
|
|
|
- return 1;
|
|
|
-
|
|
|
schedstat_inc(p, se.statistics.nr_wakeups_affine_attempts);
|
|
|
- tl_per_task = cpu_avg_load_per_task(this_cpu);
|
|
|
|
|
|
- if (balanced ||
|
|
|
- (this_load <= load &&
|
|
|
- this_load + target_load(prev_cpu, idx) <= tl_per_task)) {
|
|
|
- /*
|
|
|
- * This domain has SD_WAKE_AFFINE and
|
|
|
- * p is cache cold in this domain, and
|
|
|
- * there is no bad imbalance.
|
|
|
- */
|
|
|
- schedstat_inc(sd, ttwu_move_affine);
|
|
|
- schedstat_inc(p, se.statistics.nr_wakeups_affine);
|
|
|
+ if (!balanced)
|
|
|
+ return 0;
|
|
|
|
|
|
- return 1;
|
|
|
- }
|
|
|
- return 0;
|
|
|
+ schedstat_inc(sd, ttwu_move_affine);
|
|
|
+ schedstat_inc(p, se.statistics.nr_wakeups_affine);
|
|
|
+
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
/*
|