diff --git a/[refs] b/[refs] index 69c31118ae8c..9df06b87ae44 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cb46984504048db946cd551c261df4e70d59a8ea +refs/heads/master: cdc8eb984ce47a7c90a049f45229f7b0d59ba781 diff --git a/trunk/kernel/sched_rt.c b/trunk/kernel/sched_rt.c index 57fa3d96847b..a386758ffebb 100644 --- a/trunk/kernel/sched_rt.c +++ b/trunk/kernel/sched_rt.c @@ -34,9 +34,11 @@ static inline void rt_clear_overload(struct rq *rq) static void update_rt_migration(struct rq *rq) { if (rq->rt.rt_nr_migratory && (rq->rt.rt_nr_running > 1)) { - rt_set_overload(rq); - rq->rt.overloaded = 1; - } else { + if (!rq->rt.overloaded) { + rt_set_overload(rq); + rq->rt.overloaded = 1; + } + } else if (rq->rt.overloaded) { rt_clear_overload(rq); rq->rt.overloaded = 0; }