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

Message ID 170126973067.398.7349628607545503736.tip-bot2@tip-bot2
State New
Headers
Series [tip:,sched/core] freezer,sched: Clean saved_state when restoring it during thaw |

Commit Message

tip-bot2 for Thomas Gleixner Nov. 29, 2023, 2:55 p.m. UTC
  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@quicinc.com>
AuthorDate:    Mon, 20 Nov 2023 09:36:32 -08:00
Committer:     Peter Zijlstra <peterz@infradead.org>
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@quicinc.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20231120-freezer-state-multiple-thaws-v1-2-f2e1dd7ce5a2@quicinc.com
---
 kernel/freezer.c | 1 +
 1 file changed, 1 insertion(+)
  

Patch

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;
 	}