diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c index 01f75a5..b02b516 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c @@ -568,8 +568,14 @@ static int do_sched_rt_period_timer(struct rt_bandwidth *rt_b, int overrun) raw_spin_unlock(&rt_rq->rt_runtime_lock); } else if (rt_rq->rt_nr_running) { idle = 0; - if (!rt_rq_throttled(rt_rq)) + if (!rt_rq_throttled(rt_rq)) { + struct sched_rt_entity *rt_se; + int cpu = cpu_of(rq_of_rt_rq(rt_rq)); + + rt_se = rt_rq->tg->rt_se[cpu]; + WARN_ON(rt_se && !on_rt_rq(rt_se)); enqueue = 1; + } } if (enqueue)