Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: Fix rebalance interval calculation sched, doc: Beef up load balancing description sched: Leave sched_setscheduler() earlier if possible, do not disturb SCHED_FIFO tasks
This commit is contained in:
@@ -5011,6 +5011,17 @@ recheck:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/*
|
||||
* If not changing anything there's no need to proceed further:
|
||||
*/
|
||||
if (unlikely(policy == p->policy && (!rt_policy(policy) ||
|
||||
param->sched_priority == p->rt_priority))) {
|
||||
|
||||
__task_rq_unlock(rq);
|
||||
raw_spin_unlock_irqrestore(&p->pi_lock, flags);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_RT_GROUP_SCHED
|
||||
if (user) {
|
||||
/*
|
||||
|
||||
+3
-2
@@ -22,6 +22,7 @@
|
||||
|
||||
#include <linux/latencytop.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/cpumask.h>
|
||||
|
||||
/*
|
||||
* Targeted preemption latency for CPU-bound tasks:
|
||||
@@ -3850,8 +3851,8 @@ static void rebalance_domains(int cpu, enum cpu_idle_type idle)
|
||||
interval = msecs_to_jiffies(interval);
|
||||
if (unlikely(!interval))
|
||||
interval = 1;
|
||||
if (interval > HZ*NR_CPUS/10)
|
||||
interval = HZ*NR_CPUS/10;
|
||||
if (interval > HZ*num_online_cpus()/10)
|
||||
interval = HZ*num_online_cpus()/10;
|
||||
|
||||
need_serialize = sd->flags & SD_SERIALIZE;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user