kernel/sched/debug.c | 2 ++ 1 file changed, 2 insertions(+)
With commit 857b158dc5e8 ("sched/eevdf: Use sched_attr::sched_runtime
to set request/slice suggestion") we have the userspace per-task tunable
slice length so print it in /proc/$PID/sched.
Signed-off-by: Christian Loehle <christian.loehle@arm.com>
---
kernel/sched/debug.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index fd7e85220715..ef047add7f9e 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -1262,6 +1262,8 @@ void proc_sched_show_task(struct task_struct *p, struct pid_namespace *ns,
if (task_has_dl_policy(p)) {
P(dl.runtime);
P(dl.deadline);
+ } else if (fair_policy(p->policy)) {
+ P(se.slice);
}
#ifdef CONFIG_SCHED_CLASS_EXT
__PS("ext.enabled", task_on_scx(p));
--
2.34.1
On 1/29/25 17:59, Christian Loehle wrote:
> With commit 857b158dc5e8 ("sched/eevdf: Use sched_attr::sched_runtime
> to set request/slice suggestion") we have the userspace per-task tunable
> slice length so print it in /proc/$PID/sched.
>
> Signed-off-by: Christian Loehle <christian.loehle@arm.com>
> ---
> kernel/sched/debug.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
> index fd7e85220715..ef047add7f9e 100644
> --- a/kernel/sched/debug.c
> +++ b/kernel/sched/debug.c
> @@ -1262,6 +1262,8 @@ void proc_sched_show_task(struct task_struct *p, struct pid_namespace *ns,
> if (task_has_dl_policy(p)) {
> P(dl.runtime);
> P(dl.deadline);
> + } else if (fair_policy(p->policy)) {
> + P(se.slice);
> }
> #ifdef CONFIG_SCHED_CLASS_EXT
> __PS("ext.enabled", task_on_scx(p));
So Peter added a debug slice length print for all tasks on
the rq in commit ("147f3efaa241 sched/fair: Implement an EEVDF-like
scheduling policy") already, but that alone is a bit awkward to play
with when modifying slice length for specific tasks which aren't
always enqueued.
The following commit has been merged into the sched/urgent branch of tip:
Commit-ID: 9065ce69754dece78606c8bbb3821449272e56bf
Gitweb: https://git.kernel.org/tip/9065ce69754dece78606c8bbb3821449272e56bf
Author: Christian Loehle <christian.loehle@arm.com>
AuthorDate: Wed, 29 Jan 2025 17:59:44
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Fri, 31 Jan 2025 10:45:33 +01:00
sched/debug: Provide slice length for fair tasks
Since commit:
857b158dc5e8 ("sched/eevdf: Use sched_attr::sched_runtime to set request/slice suggestion")
... we have the userspace per-task tunable slice length, which is
a key parameter that is otherwise difficult to obtain, so provide
it in /proc/$PID/sched.
[ mingo: Clarified the changelog. ]
Signed-off-by: Christian Loehle <christian.loehle@arm.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/453349b1-1637-42f5-a7b2-2385392b5956@arm.com
---
kernel/sched/debug.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index a1be00a..5b32d3c 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -1265,6 +1265,8 @@ void proc_sched_show_task(struct task_struct *p, struct pid_namespace *ns,
if (task_has_dl_policy(p)) {
P(dl.runtime);
P(dl.deadline);
+ } else if (fair_policy(p->policy)) {
+ P(se.slice);
}
#ifdef CONFIG_SCHED_CLASS_EXT
__PS("ext.enabled", task_on_scx(p));
© 2016 - 2026 Red Hat, Inc.