[tip: sched/core] freezer,sched: Clean saved_state when restoring it during thaw

From: tip-bot2 for Elliot Berman
Date: Wed Nov 29 2023 - 09:55:39 EST


The following commit has been merged into the sched/core branch of tip:

Commit-ID: 418146e39891ef1fb2284dee4cabbfe616cd21cf
Gitweb: https://git.kernel.org/tip/418146e39891ef1fb2284dee4cabbfe616cd21cf
Author: Elliot Berman <quic_eberman@xxxxxxxxxxx>
AuthorDate: Mon, 20 Nov 2023 09:36:32 -08:00
Committer: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
CommitterDate: Wed, 29 Nov 2023 15:43:53 +01:00

freezer,sched: Clean saved_state when restoring it during thaw

Clean saved_state after using it during thaw. Cleaning the saved_state
allows us to avoid some unnecessary branches in ttwu_state_match.

Signed-off-by: Elliot Berman <quic_eberman@xxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Link: https://lore.kernel.org/r/20231120-freezer-state-multiple-thaws-v1-2-f2e1dd7ce5a2@xxxxxxxxxxx
---
kernel/freezer.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/kernel/freezer.c b/kernel/freezer.c
index c450fa8..43b1d1b 100644
--- a/kernel/freezer.c
+++ b/kernel/freezer.c
@@ -187,6 +187,7 @@ static int __restore_freezer_state(struct task_struct *p, void *arg)

if (state != TASK_RUNNING) {
WRITE_ONCE(p->__state, state);
+ p->saved_state = TASK_RUNNING;
return 1;
}