diff options
Diffstat (limited to 'kernel/sched.c')
-rw-r--r-- | kernel/sched.c | 7 |
1 files changed, 7 insertions, 0 deletions
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) | |||
9917 | if (sysctl_sched_rt_period <= 0) | 9917 | if (sysctl_sched_rt_period <= 0) |
9918 | return -EINVAL; | 9918 | return -EINVAL; |
9919 | 9919 | ||
9920 | /* | ||
9921 | * There's always some RT tasks in the root group | ||
9922 | * -- migration, kstopmachine etc.. | ||
9923 | */ | ||
9924 | if (sysctl_sched_rt_runtime == 0) | ||
9925 | return -EBUSY; | ||
9926 | |||
9920 | spin_lock_irqsave(&def_rt_bandwidth.rt_runtime_lock, flags); | 9927 | spin_lock_irqsave(&def_rt_bandwidth.rt_runtime_lock, flags); |
9921 | for_each_possible_cpu(i) { | 9928 | for_each_possible_cpu(i) { |
9922 | struct rt_rq *rt_rq = &cpu_rq(i)->rt; | 9929 | struct rt_rq *rt_rq = &cpu_rq(i)->rt; |