2023-11-20 17:37:50

by Elliot Berman

[permalink] [raw]
Subject: [PATCH 2/2] 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 <[email protected]>
---
kernel/freezer.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/kernel/freezer.c b/kernel/freezer.c
index 759006a9a910..f57aaf96b829 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;
}


--
2.41.0


2023-11-29 14:55:51

by tip-bot2 for Jacob Pan

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

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 <[email protected]>
AuthorDate: Mon, 20 Nov 2023 09:36:32 -08:00
Committer: Peter Zijlstra <[email protected]>
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 <[email protected]>
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
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(+)

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