]> git.baikalelectronics.ru Git - kernel.git/commit
sched: Allow put_prev_task() to drop rq->lock
authorPeter Zijlstra <peterz@infradead.org>
Wed, 29 May 2019 20:36:43 +0000 (20:36 +0000)
committerPeter Zijlstra <peterz@infradead.org>
Thu, 8 Aug 2019 07:09:31 +0000 (09:09 +0200)
commit23b75a8964dd40f52448451990fa7e0cd4ee8e4a
tree6f619f4db2fe3ab531d4a27807af7f6a8e7d2fe9
parent7aa917db8430a6ef530b8d6e8c957605e5ad27fb
sched: Allow put_prev_task() to drop rq->lock

Currently the pick_next_task() loop is convoluted and ugly because of
how it can drop the rq->lock and needs to restart the picking.

For the RT/Deadline classes, it is put_prev_task() where we do
balancing, and we could do this before the picking loop. Make this
possible.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Valentin Schneider <valentin.schneider@arm.com>
Cc: Aaron Lu <aaron.lwe@gmail.com>
Cc: mingo@kernel.org
Cc: Phil Auld <pauld@redhat.com>
Cc: Julien Desfossez <jdesfossez@digitalocean.com>
Cc: Nishanth Aravamudan <naravamudan@digitalocean.com>
Link: https://lkml.kernel.org/r/e4519f6850477ab7f3d257062796e6425ee4ba7c.1559129225.git.vpillai@digitalocean.com
kernel/sched/core.c
kernel/sched/deadline.c
kernel/sched/fair.c
kernel/sched/idle.c
kernel/sched/rt.c
kernel/sched/sched.h
kernel/sched/stop_task.c