diff options
author | Peter Zijlstra <peterz@infradead.org> | 2019-08-06 15:13:17 +0200 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2019-08-08 09:09:30 +0200 |
commit | 10e7071b2f491b0fb981717ea0a585c441906ede (patch) | |
tree | ce4b0f5ba59efc3d238e0b3046e81a068e27b372 /kernel/sched/sched.h | |
parent | sched/{rt,deadline}: Fix set_next_task vs pick_next_task (diff) | |
download | linux-10e7071b2f491b0fb981717ea0a585c441906ede.tar.xz linux-10e7071b2f491b0fb981717ea0a585c441906ede.zip |
sched: Rework CPU hotplug task selection
The CPU hotplug task selection is the only place where we used
put_prev_task() on a task that is not current. While looking at that,
it occured to me that we can simplify all that by by using a custom
pick loop.
Since we don't need to put current, we can do away with the fake task
too.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Aaron Lu <aaron.lwe@gmail.com>
Cc: Valentin Schneider <valentin.schneider@arm.com>
Cc: mingo@kernel.org
Cc: Phil Auld <pauld@redhat.com>
Cc: Julien Desfossez <jdesfossez@digitalocean.com>
Cc: Nishanth Aravamudan <naravamudan@digitalocean.com>
Diffstat (limited to '')
-rw-r--r-- | kernel/sched/sched.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index ea48aa5daeee..b3449d0dd7f0 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1751,6 +1751,7 @@ struct sched_class { static inline void put_prev_task(struct rq *rq, struct task_struct *prev) { + WARN_ON_ONCE(rq->curr != prev); prev->sched_class->put_prev_task(rq, prev); } |