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.c24
1 files changed, 1 insertions, 23 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index a4d2b7abc3cd..2237ffefdbce 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -2644,28 +2644,6 @@ find_idlest_cpu(struct sched_group *group, struct task_struct *p, int this_cpu)
2644 return idlest; 2644 return idlest;
2645} 2645}
2646 2646
2647/**
2648 * highest_flag_domain - Return highest sched_domain containing flag.
2649 * @cpu: The cpu whose highest level of sched domain is to
2650 * be returned.
2651 * @flag: The flag to check for the highest sched_domain
2652 * for the given cpu.
2653 *
2654 * Returns the highest sched_domain of a cpu which contains the given flag.
2655 */
2656static inline struct sched_domain *highest_flag_domain(int cpu, int flag)
2657{
2658 struct sched_domain *sd, *hsd = NULL;
2659
2660 for_each_domain(cpu, sd) {
2661 if (!(sd->flags & flag))
2662 break;
2663 hsd = sd;
2664 }
2665
2666 return hsd;
2667}
2668
2669/* 2647/*
2670 * Try and locate an idle CPU in the sched_domain. 2648 * Try and locate an idle CPU in the sched_domain.
2671 */ 2649 */
@@ -2696,7 +2674,7 @@ static int select_idle_sibling(struct task_struct *p, int target)
2696 */ 2674 */
2697 rcu_read_lock(); 2675 rcu_read_lock();
2698 2676
2699 sd = highest_flag_domain(target, SD_SHARE_PKG_RESOURCES); 2677 sd = rcu_dereference(per_cpu(sd_llc, target));
2700 for_each_lower_domain(sd) { 2678 for_each_lower_domain(sd) {
2701 sg = sd->groups; 2679 sg = sd->groups;
2702 do { 2680 do {