Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 110733
b: refs/heads/master
c: 64b9e02
h: refs/heads/master
i:
  110731: 5f5554b
v: v3
  • Loading branch information
Amit K. Arora authored and Ingo Molnar committed Sep 30, 2008
1 parent afba8a0 commit 66dee34
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b87f17242da6b2ac6db2d179b2f93fb84cff2fbe
refs/heads/master: 64b9e0294d24a4204232e13e01630b0690e48d61
16 changes: 7 additions & 9 deletions trunk/kernel/sched_fair.c
Original file line number Diff line number Diff line change
Expand Up @@ -1088,7 +1088,7 @@ static inline unsigned long effective_load(struct task_group *tg, int cpu,
#endif

static int
wake_affine(struct rq *rq, struct sched_domain *this_sd, struct rq *this_rq,
wake_affine(struct sched_domain *this_sd, struct rq *this_rq,
struct task_struct *p, int prev_cpu, int this_cpu, int sync,
int idx, unsigned long load, unsigned long this_load,
unsigned int imbalance)
Expand Down Expand Up @@ -1136,8 +1136,8 @@ wake_affine(struct rq *rq, struct sched_domain *this_sd, struct rq *this_rq,
schedstat_inc(p, se.nr_wakeups_affine_attempts);
tl_per_task = cpu_avg_load_per_task(this_cpu);

if ((tl <= load && tl + target_load(prev_cpu, idx) <= tl_per_task) ||
balanced) {
if (balanced || (tl <= load && tl + target_load(prev_cpu, idx) <=
tl_per_task)) {
/*
* This domain has SD_WAKE_AFFINE and
* p is cache cold in this domain, and
Expand All @@ -1156,16 +1156,17 @@ static int select_task_rq_fair(struct task_struct *p, int sync)
struct sched_domain *sd, *this_sd = NULL;
int prev_cpu, this_cpu, new_cpu;
unsigned long load, this_load;
struct rq *rq, *this_rq;
struct rq *this_rq;
unsigned int imbalance;
int idx;

prev_cpu = task_cpu(p);
rq = task_rq(p);
this_cpu = smp_processor_id();
this_rq = cpu_rq(this_cpu);
new_cpu = prev_cpu;

if (prev_cpu == this_cpu)
goto out;
/*
* 'this_sd' is the first domain that both
* this_cpu and prev_cpu are present in:
Expand Down Expand Up @@ -1193,13 +1194,10 @@ static int select_task_rq_fair(struct task_struct *p, int sync)
load = source_load(prev_cpu, idx);
this_load = target_load(this_cpu, idx);

if (wake_affine(rq, this_sd, this_rq, p, prev_cpu, this_cpu, sync, idx,
if (wake_affine(this_sd, this_rq, p, prev_cpu, this_cpu, sync, idx,
load, this_load, imbalance))
return this_cpu;

if (prev_cpu == this_cpu)
goto out;

/*
* Start passive balancing when half the imbalance_pct
* limit is reached.
Expand Down

0 comments on commit 66dee34

Please sign in to comment.