diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/sched_fair.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index 75248b9ff4c1..a7e50ba185ac 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c | |||
| @@ -719,7 +719,7 @@ enqueue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int wakeup) | |||
| 719 | __enqueue_entity(cfs_rq, se); | 719 | __enqueue_entity(cfs_rq, se); |
| 720 | } | 720 | } |
| 721 | 721 | ||
| 722 | static void clear_buddies(struct cfs_rq *cfs_rq, struct sched_entity *se) | 722 | static void __clear_buddies(struct cfs_rq *cfs_rq, struct sched_entity *se) |
| 723 | { | 723 | { |
| 724 | if (cfs_rq->last == se) | 724 | if (cfs_rq->last == se) |
| 725 | cfs_rq->last = NULL; | 725 | cfs_rq->last = NULL; |
| @@ -728,6 +728,12 @@ static void clear_buddies(struct cfs_rq *cfs_rq, struct sched_entity *se) | |||
| 728 | cfs_rq->next = NULL; | 728 | cfs_rq->next = NULL; |
| 729 | } | 729 | } |
| 730 | 730 | ||
| 731 | static void clear_buddies(struct cfs_rq *cfs_rq, struct sched_entity *se) | ||
| 732 | { | ||
| 733 | for_each_sched_entity(se) | ||
| 734 | __clear_buddies(cfs_rq_of(se), se); | ||
| 735 | } | ||
| 736 | |||
| 731 | static void | 737 | static void |
| 732 | dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int sleep) | 738 | dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int sleep) |
| 733 | { | 739 | { |
| @@ -1455,7 +1461,7 @@ static struct task_struct *pick_next_task_fair(struct rq *rq) | |||
| 1455 | * If se was a buddy, clear it so that it will have to earn | 1461 | * If se was a buddy, clear it so that it will have to earn |
| 1456 | * the favour again. | 1462 | * the favour again. |
| 1457 | */ | 1463 | */ |
| 1458 | clear_buddies(cfs_rq, se); | 1464 | __clear_buddies(cfs_rq, se); |
| 1459 | set_next_entity(cfs_rq, se); | 1465 | set_next_entity(cfs_rq, se); |
| 1460 | cfs_rq = group_cfs_rq(se); | 1466 | cfs_rq = group_cfs_rq(se); |
| 1461 | } while (cfs_rq); | 1467 | } while (cfs_rq); |
