diff options
Diffstat (limited to 'kernel/sched.c')
-rw-r--r-- | kernel/sched.c | 41 |
1 files changed, 3 insertions, 38 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index fc6fda881d2e..6c819f338b11 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -512,14 +512,6 @@ struct root_domain { | |||
512 | #ifdef CONFIG_SMP | 512 | #ifdef CONFIG_SMP |
513 | struct cpupri cpupri; | 513 | struct cpupri cpupri; |
514 | #endif | 514 | #endif |
515 | #if defined(CONFIG_SCHED_MC) || defined(CONFIG_SCHED_SMT) | ||
516 | /* | ||
517 | * Preferred wake up cpu nominated by sched_mc balance that will be | ||
518 | * used when most cpus are idle in the system indicating overall very | ||
519 | * low system utilisation. Triggered at POWERSAVINGS_BALANCE_WAKEUP(2) | ||
520 | */ | ||
521 | unsigned int sched_mc_preferred_wakeup_cpu; | ||
522 | #endif | ||
523 | }; | 515 | }; |
524 | 516 | ||
525 | /* | 517 | /* |
@@ -2315,22 +2307,6 @@ static int try_to_wake_up(struct task_struct *p, unsigned int state, int sync) | |||
2315 | if (!sched_feat(SYNC_WAKEUPS)) | 2307 | if (!sched_feat(SYNC_WAKEUPS)) |
2316 | sync = 0; | 2308 | sync = 0; |
2317 | 2309 | ||
2318 | #ifdef CONFIG_SMP | ||
2319 | if (sched_feat(LB_WAKEUP_UPDATE) && !root_task_group_empty()) { | ||
2320 | struct sched_domain *sd; | ||
2321 | |||
2322 | this_cpu = raw_smp_processor_id(); | ||
2323 | cpu = task_cpu(p); | ||
2324 | |||
2325 | for_each_domain(this_cpu, sd) { | ||
2326 | if (cpumask_test_cpu(cpu, sched_domain_span(sd))) { | ||
2327 | update_shares(sd); | ||
2328 | break; | ||
2329 | } | ||
2330 | } | ||
2331 | } | ||
2332 | #endif | ||
2333 | |||
2334 | this_cpu = get_cpu(); | 2310 | this_cpu = get_cpu(); |
2335 | 2311 | ||
2336 | smp_wmb(); | 2312 | smp_wmb(); |
@@ -3533,11 +3509,6 @@ static inline int check_power_save_busiest_group(struct sd_lb_stats *sds, | |||
3533 | *imbalance = sds->min_load_per_task; | 3509 | *imbalance = sds->min_load_per_task; |
3534 | sds->busiest = sds->group_min; | 3510 | sds->busiest = sds->group_min; |
3535 | 3511 | ||
3536 | if (sched_mc_power_savings >= POWERSAVINGS_BALANCE_WAKEUP) { | ||
3537 | cpu_rq(this_cpu)->rd->sched_mc_preferred_wakeup_cpu = | ||
3538 | group_first_cpu(sds->group_leader); | ||
3539 | } | ||
3540 | |||
3541 | return 1; | 3512 | return 1; |
3542 | 3513 | ||
3543 | } | 3514 | } |
@@ -7850,9 +7821,7 @@ static int sd_degenerate(struct sched_domain *sd) | |||
7850 | } | 7821 | } |
7851 | 7822 | ||
7852 | /* Following flags don't use groups */ | 7823 | /* Following flags don't use groups */ |
7853 | if (sd->flags & (SD_WAKE_IDLE | | 7824 | if (sd->flags & (SD_WAKE_AFFINE)) |
7854 | SD_WAKE_AFFINE | | ||
7855 | SD_WAKE_BALANCE)) | ||
7856 | return 0; | 7825 | return 0; |
7857 | 7826 | ||
7858 | return 1; | 7827 | return 1; |
@@ -7869,10 +7838,6 @@ sd_parent_degenerate(struct sched_domain *sd, struct sched_domain *parent) | |||
7869 | if (!cpumask_equal(sched_domain_span(sd), sched_domain_span(parent))) | 7838 | if (!cpumask_equal(sched_domain_span(sd), sched_domain_span(parent))) |
7870 | return 0; | 7839 | return 0; |
7871 | 7840 | ||
7872 | /* Does parent contain flags not in child? */ | ||
7873 | /* WAKE_BALANCE is a subset of WAKE_AFFINE */ | ||
7874 | if (cflags & SD_WAKE_AFFINE) | ||
7875 | pflags &= ~SD_WAKE_BALANCE; | ||
7876 | /* Flags needing groups don't count if only 1 group in parent */ | 7841 | /* Flags needing groups don't count if only 1 group in parent */ |
7877 | if (parent->groups == parent->groups->next) { | 7842 | if (parent->groups == parent->groups->next) { |
7878 | pflags &= ~(SD_LOAD_BALANCE | | 7843 | pflags &= ~(SD_LOAD_BALANCE | |
@@ -8558,10 +8523,10 @@ static void set_domain_attribute(struct sched_domain *sd, | |||
8558 | request = attr->relax_domain_level; | 8523 | request = attr->relax_domain_level; |
8559 | if (request < sd->level) { | 8524 | if (request < sd->level) { |
8560 | /* turn off idle balance on this domain */ | 8525 | /* turn off idle balance on this domain */ |
8561 | sd->flags &= ~(SD_WAKE_IDLE|SD_BALANCE_NEWIDLE); | 8526 | sd->flags &= ~(SD_BALANCE_WAKE|SD_BALANCE_NEWIDLE); |
8562 | } else { | 8527 | } else { |
8563 | /* turn on idle balance on this domain */ | 8528 | /* turn on idle balance on this domain */ |
8564 | sd->flags |= (SD_WAKE_IDLE_FAR|SD_BALANCE_NEWIDLE); | 8529 | sd->flags |= (SD_BALANCE_WAKE|SD_BALANCE_NEWIDLE); |
8565 | } | 8530 | } |
8566 | } | 8531 | } |
8567 | 8532 | ||