X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=kernel%2Fsched.c;h=2a43a581ead32c2ae0396c8f13e3b484a89003c8;hb=60aa605dfce2976e54fa76e805ab0f221372d4d9;hp=54d67b94f1a9f159e7f9ea07f9ab0e2bc626c569;hpb=6e29ec5701e9d44fa02b96c1c5c45f7516182b65;p=deliverable%2Flinux.git diff --git a/kernel/sched.c b/kernel/sched.c index 54d67b94f1a9..2a43a581ead3 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -9917,6 +9917,13 @@ static int sched_rt_global_constraints(void) if (sysctl_sched_rt_period <= 0) return -EINVAL; + /* + * There's always some RT tasks in the root group + * -- migration, kstopmachine etc.. + */ + if (sysctl_sched_rt_runtime == 0) + return -EBUSY; + spin_lock_irqsave(&def_rt_bandwidth.rt_runtime_lock, flags); for_each_possible_cpu(i) { struct rt_rq *rt_rq = &cpu_rq(i)->rt;