aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched.c')
-rw-r--r--kernel/sched.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index 3f7c5eb254e2..28c73f07efb2 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -594,18 +594,14 @@ enum {
594 SCHED_FEAT_NEW_FAIR_SLEEPERS = 1, 594 SCHED_FEAT_NEW_FAIR_SLEEPERS = 1,
595 SCHED_FEAT_WAKEUP_PREEMPT = 2, 595 SCHED_FEAT_WAKEUP_PREEMPT = 2,
596 SCHED_FEAT_START_DEBIT = 4, 596 SCHED_FEAT_START_DEBIT = 4,
597 SCHED_FEAT_TREE_AVG = 8, 597 SCHED_FEAT_HRTICK = 8,
598 SCHED_FEAT_APPROX_AVG = 16, 598 SCHED_FEAT_DOUBLE_TICK = 16,
599 SCHED_FEAT_HRTICK = 32,
600 SCHED_FEAT_DOUBLE_TICK = 64,
601}; 599};
602 600
603const_debug unsigned int sysctl_sched_features = 601const_debug unsigned int sysctl_sched_features =
604 SCHED_FEAT_NEW_FAIR_SLEEPERS * 1 | 602 SCHED_FEAT_NEW_FAIR_SLEEPERS * 1 |
605 SCHED_FEAT_WAKEUP_PREEMPT * 1 | 603 SCHED_FEAT_WAKEUP_PREEMPT * 1 |
606 SCHED_FEAT_START_DEBIT * 1 | 604 SCHED_FEAT_START_DEBIT * 1 |
607 SCHED_FEAT_TREE_AVG * 0 |
608 SCHED_FEAT_APPROX_AVG * 0 |
609 SCHED_FEAT_HRTICK * 1 | 605 SCHED_FEAT_HRTICK * 1 |
610 SCHED_FEAT_DOUBLE_TICK * 0; 606 SCHED_FEAT_DOUBLE_TICK * 0;
611 607
@@ -3886,7 +3882,7 @@ need_resched_nonpreemptible:
3886 3882
3887 if (prev->state && !(preempt_count() & PREEMPT_ACTIVE)) { 3883 if (prev->state && !(preempt_count() & PREEMPT_ACTIVE)) {
3888 if (unlikely((prev->state & TASK_INTERRUPTIBLE) && 3884 if (unlikely((prev->state & TASK_INTERRUPTIBLE) &&
3889 unlikely(signal_pending(prev)))) { 3885 signal_pending(prev))) {
3890 prev->state = TASK_RUNNING; 3886 prev->state = TASK_RUNNING;
3891 } else { 3887 } else {
3892 deactivate_task(rq, prev, 1); 3888 deactivate_task(rq, prev, 1);
@@ -6811,6 +6807,10 @@ static int ndoms_cur; /* number of sched domains in 'doms_cur' */
6811 */ 6807 */
6812static cpumask_t fallback_doms; 6808static cpumask_t fallback_doms;
6813 6809
6810void __attribute__((weak)) arch_update_cpu_topology(void)
6811{
6812}
6813
6814/* 6814/*
6815 * Set up scheduler domains and groups. Callers must hold the hotplug lock. 6815 * Set up scheduler domains and groups. Callers must hold the hotplug lock.
6816 * For now this just excludes isolated cpus, but could be used to 6816 * For now this just excludes isolated cpus, but could be used to
@@ -6820,6 +6820,7 @@ static int arch_init_sched_domains(const cpumask_t *cpu_map)
6820{ 6820{
6821 int err; 6821 int err;
6822 6822
6823 arch_update_cpu_topology();
6823 ndoms_cur = 1; 6824 ndoms_cur = 1;
6824 doms_cur = kmalloc(sizeof(cpumask_t), GFP_KERNEL); 6825 doms_cur = kmalloc(sizeof(cpumask_t), GFP_KERNEL);
6825 if (!doms_cur) 6826 if (!doms_cur)
@@ -6924,7 +6925,7 @@ match2:
6924} 6925}
6925 6926
6926#if defined(CONFIG_SCHED_MC) || defined(CONFIG_SCHED_SMT) 6927#if defined(CONFIG_SCHED_MC) || defined(CONFIG_SCHED_SMT)
6927static int arch_reinit_sched_domains(void) 6928int arch_reinit_sched_domains(void)
6928{ 6929{
6929 int err; 6930 int err;
6930 6931