aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched_fair.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched_fair.c')
-rw-r--r--kernel/sched_fair.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index e9f5daee12c7..c163a285bf05 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -1403,7 +1403,6 @@ static int select_task_rq_fair(struct task_struct *p, int sd_flag, int wake_flag
1403 new_cpu = prev_cpu; 1403 new_cpu = prev_cpu;
1404 } 1404 }
1405 1405
1406 rcu_read_lock();
1407 for_each_domain(cpu, tmp) { 1406 for_each_domain(cpu, tmp) {
1408 /* 1407 /*
1409 * If power savings logic is enabled for a domain, see if we 1408 * If power savings logic is enabled for a domain, see if we
@@ -1484,10 +1483,8 @@ static int select_task_rq_fair(struct task_struct *p, int sd_flag, int wake_flag
1484 update_shares(tmp); 1483 update_shares(tmp);
1485 } 1484 }
1486 1485
1487 if (affine_sd && wake_affine(affine_sd, p, sync)) { 1486 if (affine_sd && wake_affine(affine_sd, p, sync))
1488 new_cpu = cpu; 1487 return cpu;
1489 goto out;
1490 }
1491 1488
1492 while (sd) { 1489 while (sd) {
1493 int load_idx = sd->forkexec_idx; 1490 int load_idx = sd->forkexec_idx;
@@ -1528,8 +1525,6 @@ static int select_task_rq_fair(struct task_struct *p, int sd_flag, int wake_flag
1528 /* while loop will break here if sd == NULL */ 1525 /* while loop will break here if sd == NULL */
1529 } 1526 }
1530 1527
1531out:
1532 rcu_read_unlock();
1533 return new_cpu; 1528 return new_cpu;
1534} 1529}
1535#endif /* CONFIG_SMP */ 1530#endif /* CONFIG_SMP */