Peter Zijlstra 975707f227 sched: Prepare to use balance_push in ttwu()
In preparation of using the balance_push state in ttwu() we need it to
provide a reliable and consistent state.

The immediate problem is that rq->balance_callback gets cleared every
schedule() and then re-set in the balance_push_callback() itself. This
is not a reliable signal, so add a variable that stays set during the
entire time.

Also move setting it before the synchronize_rcu() in
sched_cpu_deactivate(), such that we get guaranteed visibility to
ttwu(), which is a preempt-disable region.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Tested-by: Valentin Schneider <valentin.schneider@arm.com>
Link: https://lkml.kernel.org/r/20210121103506.966069627@infradead.org
2021-01-22 15:09:43 +01:00
..
2020-11-24 16:47:49 +01:00
2020-12-22 13:19:43 -08:00
2020-12-15 22:46:18 -08:00
2020-12-16 10:45:11 -08:00
2020-12-17 13:22:17 -08:00
2020-12-02 22:52:16 -05:00
2020-12-16 10:54:03 -08:00
2020-12-14 18:29:11 -08:00
2020-12-09 17:08:45 +01:00
2021-01-22 15:09:42 +01:00
2020-12-15 22:46:19 -08:00
2020-12-17 13:01:31 -08:00
2020-12-14 16:40:27 -08:00
2020-11-14 11:26:04 -08:00
2020-12-17 13:01:31 -08:00
2020-12-14 16:40:27 -08:00
2020-07-27 14:31:12 -04:00
2020-12-01 10:30:28 +00:00
2020-12-16 11:30:10 -08:00
2020-12-16 12:33:35 -08:00
2021-01-22 15:09:42 +01:00
2020-12-27 09:06:10 -08:00
2020-12-19 11:18:38 -08:00
2020-12-14 16:40:27 -08:00
2020-08-19 14:14:12 +02:00
2020-07-07 11:58:59 -05:00
2020-08-19 14:13:20 +02:00