From: Zihuan Zhang <zhangzihuan@kylinos.cn>
To: "Rafael J . Wysocki" <rafael@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Oleg Nesterov <oleg@redhat.com>,
David Hildenbrand <david@redhat.com>,
Michal Hocko <mhocko@suse.com>, Jonathan Corbet <corbet@lwn.net>
Cc: Ingo Molnar <mingo@redhat.com>,
Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Steven Rostedt <rostedt@goodmis.org>,
Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
Valentin Schneider <vschneid@redhat.com>,
len brown <len.brown@intel.com>, pavel machek <pavel@kernel.org>,
Kees Cook <kees@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
"Liam R . Howlett" <Liam.Howlett@oracle.com>,
Vlastimil Babka <vbabka@suse.cz>, Mike Rapoport <rppt@kernel.org>,
Suren Baghdasaryan <surenb@google.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Nico Pache <npache@redhat.com>, xu xin <xu.xin16@zte.com.cn>,
wangfushuai <wangfushuai@baidu.com>,
Andrii Nakryiko <andrii@kernel.org>,
Christian Brauner <brauner@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Jeff Layton <jlayton@kernel.org>,
Al Viro <viro@zeniv.linux.org.uk>,
Adrian Ratiu <adrian.ratiu@collabora.com>,
linux-pm@vger.kernel.org, linux-mm@kvack.org,
linux-fsdevel@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org,
Zihuan Zhang <zhangzihuan@kylinos.cn>
Subject: [RFC PATCH v1 1/9] freezer: Introduce freeze_priority field in task_struct
Date: Thu, 7 Aug 2025 20:14:10 +0800 [thread overview]
Message-ID: <20250807121418.139765-2-zhangzihuan@kylinos.cn> (raw)
In-Reply-To: <20250807121418.139765-1-zhangzihuan@kylinos.cn>
To improve the flexibility and correctness of the freezer subsystem,
we introduce a new field `freeze_priority` in `task_struct`.
This field will allow us to assign different freezing priorities to
tasks, enabling prioritized traversal in future changes. This is
particularly useful when dealing with complex inter-process dependencies
in modern userspace workloads (e.g., service managers, IPC daemons).
Although this patch does not change behavior yet, it provides the
necessary infrastructure for upcoming logic to address issues like
dependency stalls and D-state hangs. It also helps avoid potential
race conditions by paving the way for deterministic freezing order.
Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
---
include/linux/freezer.h | 7 +++++++
include/linux/sched.h | 3 +++
2 files changed, 10 insertions(+)
diff --git a/include/linux/freezer.h b/include/linux/freezer.h
index b303472255be..6314f8b68035 100644
--- a/include/linux/freezer.h
+++ b/include/linux/freezer.h
@@ -16,6 +16,13 @@ DECLARE_STATIC_KEY_FALSE(freezer_active);
extern bool pm_freezing; /* PM freezing in effect */
extern bool pm_nosig_freezing; /* PM nosig freezing in effect */
+enum freeze_priority {
+ FREEZE_PRIORITY_HIGH = 0,
+ FREEZE_PRIORITY_NORMAL = 1,
+ FREEZE_PRIORITY_LOW = 2,
+ FREEZE_PRIORITY_NEVER = 4
+};
+
/*
* Timeout for stopping processes
*/
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 2b272382673d..7915e6214e50 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -910,6 +910,9 @@ struct task_struct {
unsigned int btrace_seq;
#endif
+#ifdef CONFIG_FREEZER
+ unsigned int freeze_priority;
+#endif
unsigned int policy;
unsigned long max_allowed_capacity;
int nr_cpus_allowed;
--
2.25.1
next prev parent reply other threads:[~2025-08-07 12:14 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-07 12:14 [RFC PATCH v1 0/9] freezer: Introduce freeze priority model to address process dependency issues Zihuan Zhang
2025-08-07 12:14 ` Zihuan Zhang [this message]
2025-08-07 12:14 ` [RFC PATCH v1 2/9] freezer: Introduce API to set per-task freeze priority Zihuan Zhang
2025-08-07 12:14 ` [RFC PATCH v1 3/9] freezer: Add per-priority layered freeze logic Zihuan Zhang
2025-08-07 12:14 ` [RFC PATCH v1 4/9] freezer: Set default freeze priority for userspace tasks Zihuan Zhang
2025-08-07 12:14 ` [RFC PATCH v1 5/9] freezer: set default freeze priority for PF_SUSPEND_TASK processes Zihuan Zhang
2025-08-08 14:39 ` Oleg Nesterov
2025-08-11 9:25 ` Zihuan Zhang
2025-08-11 9:32 ` Oleg Nesterov
2025-08-11 9:42 ` Zihuan Zhang
2025-08-11 9:46 ` Oleg Nesterov
2025-08-11 9:54 ` Zihuan Zhang
2025-08-07 12:14 ` [RFC PATCH v1 6/9] freezer: Set default freeze priority for zombie tasks Zihuan Zhang
2025-08-08 14:29 ` Oleg Nesterov
2025-08-11 9:29 ` Zihuan Zhang
2025-08-11 9:42 ` Oleg Nesterov
2025-08-12 8:07 ` Zihuan Zhang
2025-08-07 12:14 ` [RFC PATCH v1 7/9] freezer: raise freeze priority of tasks failed to freeze last time Zihuan Zhang
2025-08-08 14:53 ` Oleg Nesterov
2025-08-11 9:31 ` Zihuan Zhang
2025-08-07 12:14 ` [RFC PATCH v1 8/9] freezer: Add retry count statistics for freeze pass iterations Zihuan Zhang
2025-08-07 12:14 ` [RFC PATCH v1 9/9] proc: Add /proc/<pid>/freeze_priority interface Zihuan Zhang
2025-08-07 13:25 ` [RFC PATCH v1 0/9] freezer: Introduce freeze priority model to address process dependency issues Michal Hocko
2025-08-08 1:13 ` Zihuan Zhang
2025-08-08 7:00 ` Michal Hocko
2025-08-08 7:52 ` Zihuan Zhang
2025-08-08 8:58 ` Michal Hocko
2025-08-11 9:13 ` Zihuan Zhang
2025-08-11 10:58 ` Michal Hocko
2025-08-12 5:57 ` Zihuan Zhang
2025-08-12 17:26 ` Darrick J. Wong
2025-08-13 5:48 ` Zihuan Zhang
2025-08-14 16:43 ` Darrick J. Wong
2025-08-15 8:17 ` Zihuan Zhang
2025-08-08 7:57 ` Oleg Nesterov
2025-08-08 8:40 ` Zihuan Zhang
2025-08-14 14:37 ` Peter Zijlstra
2025-08-15 8:27 ` Zihuan Zhang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250807121418.139765-2-zhangzihuan@kylinos.cn \
--to=zhangzihuan@kylinos.cn \
--cc=Liam.Howlett@oracle.com \
--cc=adrian.ratiu@collabora.com \
--cc=akpm@linux-foundation.org \
--cc=andrii@kernel.org \
--cc=brauner@kernel.org \
--cc=bsegall@google.com \
--cc=catalin.marinas@arm.com \
--cc=corbet@lwn.net \
--cc=david@redhat.com \
--cc=dietmar.eggemann@arm.com \
--cc=jlayton@kernel.org \
--cc=juri.lelli@redhat.com \
--cc=kees@kernel.org \
--cc=len.brown@intel.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-pm@vger.kernel.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=mgorman@suse.de \
--cc=mhocko@suse.com \
--cc=mingo@redhat.com \
--cc=npache@redhat.com \
--cc=oleg@redhat.com \
--cc=pavel@kernel.org \
--cc=peterz@infradead.org \
--cc=rafael@kernel.org \
--cc=rostedt@goodmis.org \
--cc=rppt@kernel.org \
--cc=surenb@google.com \
--cc=tglx@linutronix.de \
--cc=vbabka@suse.cz \
--cc=vincent.guittot@linaro.org \
--cc=viro@zeniv.linux.org.uk \
--cc=vschneid@redhat.com \
--cc=wangfushuai@baidu.com \
--cc=xu.xin16@zte.com.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox