Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull scheduler fixes from Ingo Molnar:
"An RT group-scheduling fix and the sched-domains topology setup fix
from Mel"

* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
sched/rt: Fix rq's cpupri leak while enqueue/dequeue child RT entities
sched: Assign correct scheduling domain to 'sd_llc'

+17 -2
+3 -2
kernel/sched/core.c
··· 4902 4902 static void update_top_cache_domain(int cpu) 4903 4903 { 4904 4904 struct sched_domain *sd; 4905 + struct sched_domain *busy_sd = NULL; 4905 4906 int id = cpu; 4906 4907 int size = 1; 4907 4908 ··· 4910 4909 if (sd) { 4911 4910 id = cpumask_first(sched_domain_span(sd)); 4912 4911 size = cpumask_weight(sched_domain_span(sd)); 4913 - sd = sd->parent; /* sd_busy */ 4912 + busy_sd = sd->parent; /* sd_busy */ 4914 4913 } 4915 - rcu_assign_pointer(per_cpu(sd_busy, cpu), sd); 4914 + rcu_assign_pointer(per_cpu(sd_busy, cpu), busy_sd); 4916 4915 4917 4916 rcu_assign_pointer(per_cpu(sd_llc, cpu), sd); 4918 4917 per_cpu(sd_llc_size, cpu) = size;
+14
kernel/sched/rt.c
··· 901 901 { 902 902 struct rq *rq = rq_of_rt_rq(rt_rq); 903 903 904 + #ifdef CONFIG_RT_GROUP_SCHED 905 + /* 906 + * Change rq's cpupri only if rt_rq is the top queue. 907 + */ 908 + if (&rq->rt != rt_rq) 909 + return; 910 + #endif 904 911 if (rq->online && prio < prev_prio) 905 912 cpupri_set(&rq->rd->cpupri, rq->cpu, prio); 906 913 } ··· 917 910 { 918 911 struct rq *rq = rq_of_rt_rq(rt_rq); 919 912 913 + #ifdef CONFIG_RT_GROUP_SCHED 914 + /* 915 + * Change rq's cpupri only if rt_rq is the top queue. 916 + */ 917 + if (&rq->rt != rt_rq) 918 + return; 919 + #endif 920 920 if (rq->online && rt_rq->highest_prio.curr != prev_prio) 921 921 cpupri_set(&rq->rd->cpupri, rq->cpu, rt_rq->highest_prio.curr); 922 922 }