* [PATCH] sched/debug: add new tracepoints to track rt throttling
@ 2025-11-18 16:05 wen.yang
0 siblings, 0 replies; only message in thread
From: wen.yang @ 2025-11-18 16:05 UTC (permalink / raw)
To: Ingo Molnar, Peter Zijlstra, Juri Lelli, Vincent Guittot,
Steven Rostedt, Mel Gorman, Valentin Schneider
Cc: Wen Yang, Dietmar Eggemann, Ben Segall, linux-kernel
From: Wen Yang <wen.yang@linux.dev>
The new tracepoint allows for tracking RT throttling events at
the rt_rq level to identify RT processes that use a large amount
of CPU.
Signed-off-by: Wen Yang <wen.yang@linux.dev>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Juri Lelli <juri.lelli@redhat.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>
Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Ben Segall <bsegall@google.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Valentin Schneider <vschneid@redhat.com>
Cc: linux-kernel@vger.kernel.org
---
include/linux/sched.h | 1 +
include/trace/events/sched.h | 5 +++++
kernel/sched/rt.c | 1 +
3 files changed, 7 insertions(+)
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 40a6027a2cfd..210cf5ce41be 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -78,6 +78,7 @@ struct reclaim_state;
struct robust_list_head;
struct root_domain;
struct rq;
+struct rt_rq;
struct sched_attr;
struct sched_dl_entity;
struct seq_file;
diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h
index 7b2645b50e78..9ec53bc98df9 100644
--- a/include/trace/events/sched.h
+++ b/include/trace/events/sched.h
@@ -896,6 +896,11 @@ DECLARE_TRACE(sched_set_need_resched,
TP_PROTO(struct task_struct *tsk, int cpu, int tif),
TP_ARGS(tsk, cpu, tif));
+DECLARE_TRACE(sched_rt_throttled,
+ TP_PROTO(struct rt_rq *rt_rq),
+ TP_ARGS(rt_rq));
+
+
#endif /* _TRACE_SCHED_H */
/* This part must be outside protection */
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
index f1867fe8e5c5..c04762a51ff0 100644
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
@@ -884,6 +884,7 @@ static int sched_rt_runtime_exceeded(struct rt_rq *rt_rq)
*/
if (likely(rt_b->rt_runtime)) {
rt_rq->rt_throttled = 1;
+ trace_sched_rt_throttled_tp(rt_rq);
printk_deferred_once("sched: RT throttling activated\n");
} else {
/*
--
2.25.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2025-11-18 16:06 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-18 16:05 [PATCH] sched/debug: add new tracepoints to track rt throttling wen.yang
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.