diff --git a/[refs] b/[refs] index 45a64ff8dd9c..9bbe713855fc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 647e7cac2d215fb8890f79252d7eaee3d6743d66 +refs/heads/master: 08ec3df5109e0555da5b9deb4382fd29733c852c diff --git a/trunk/kernel/sched_fair.c b/trunk/kernel/sched_fair.c index 1f14b56d0d00..fa78686ec227 100644 --- a/trunk/kernel/sched_fair.c +++ b/trunk/kernel/sched_fair.c @@ -600,9 +600,12 @@ set_next_entity(struct cfs_rq *cfs_rq, struct sched_entity *se) static struct sched_entity *pick_next_entity(struct cfs_rq *cfs_rq) { - struct sched_entity *se = __pick_next_entity(cfs_rq); + struct sched_entity *se = NULL; - set_next_entity(cfs_rq, se); + if (first_fair(cfs_rq)) { + se = __pick_next_entity(cfs_rq); + set_next_entity(cfs_rq, se); + } return se; }