From: Gabriele Monaco <gmonaco@redhat.com>
To: Nam Cao <namcao@linutronix.de>
Cc: Steven Rostedt <rostedt@goodmis.org>,
Masami Hiramatsu <mhiramat@kernel.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
linux-trace-kernel@vger.kernel.org, linux-kernel@vger.kernel.org,
Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
Valentin Schneider <vschneid@redhat.com>
Subject: Re: [PATCH 4/5] sched: Add rt task enqueue/dequeue trace points
Date: Wed, 30 Jul 2025 18:18:45 +0200 [thread overview]
Message-ID: <5065c29035be39dee954f2b233a40ae15dcc5035.camel@redhat.com> (raw)
In-Reply-To: <20250730151818.7RemAREO@linutronix.de>
On Wed, 2025-07-30 at 17:18 +0200, Nam Cao wrote:
> On Wed, Jul 30, 2025 at 03:53:14PM +0200, Gabriele Monaco wrote:
> > On Wed, 2025-07-30 at 14:45 +0200, Nam Cao wrote:
> > > Add trace points into enqueue_task_rt() and dequeue_task_rt().
> > > They
> > > are useful to implement RV monitor which validates RT scheduling.
> > >
> >
> > I get it's much simpler this way, but is it that different to
> > follow
> > the task's existing tracepoints?
> >
> > * task going to sleep (switch:prev_state != RUNNING) is dequeued
> > * task waking up is enqueued
> > * changing the tasks's policy (setpolicy and setattr syscalls)
> > should
> > enqueue/dequeue as well
> >
> > This is more thinking out loud, but I'm doing right now something
> > rather similar with the deadline tasks and this seems reasonable,
> > at
> > least on paper.
> >
> > What do you think?
>
> I think more or less the same. The fewer tracepoints, the better. But
> the
> monitor is way more obvious this way.
>
> Let me see how hard it is to use the existing tracepoints...
Well, thinking about it again, these tracepoints might simplify things
considerably when tasks change policy..
Syscalls may fail, for that you could register to sys_exit and check
the return value, but at that point the policy changed already, so you
cannot tell if it's a relevant event or not (e.g. same policy).
Also sched_setscheduler_nocheck would be out of the picture here, not
sure how recurrent that is though (and might not matter if you only
focus on userspace tasks).
If you go down the route of adding tracepoints, why not have other
classes benefit too? I believe calling them from the enqueue_task /
dequeue_task in sched/core.c would allow you to easily filter out by
policy anyway (haven't tested).
Thanks,
Gabriele
next prev parent reply other threads:[~2025-07-30 16:18 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-30 12:45 [PATCH 0/5] rv: LTL per-cpu monitor type and real-time scheduling monitor Nam Cao
2025-07-30 12:45 ` [PATCH 1/5] rv/ltl: Prepare for other monitor types Nam Cao
2025-07-31 9:04 ` Gabriele Monaco
2025-07-31 9:28 ` Nam Cao
2025-07-31 10:14 ` Gabriele Monaco
2025-07-30 12:45 ` [PATCH 2/5] rv/ltl: Support per-cpu monitors Nam Cao
2025-07-31 8:02 ` Gabriele Monaco
2025-08-01 6:26 ` Nam Cao
2025-07-30 12:45 ` [PATCH 3/5] verification/rvgen/ltl: Support per-cpu monitor generation Nam Cao
2025-07-30 12:45 ` [PATCH 4/5] sched: Add rt task enqueue/dequeue trace points Nam Cao
2025-07-30 13:53 ` Gabriele Monaco
2025-07-30 15:18 ` Nam Cao
2025-07-30 16:18 ` Gabriele Monaco [this message]
2025-07-31 7:35 ` Nam Cao
2025-07-31 8:39 ` Gabriele Monaco
2025-08-01 3:42 ` K Prateek Nayak
2025-08-01 7:29 ` Nam Cao
2025-08-01 9:56 ` K Prateek Nayak
2025-08-01 11:04 ` Gabriele Monaco
2025-08-04 3:07 ` K Prateek Nayak
2025-08-04 5:49 ` Nam Cao
2025-07-30 12:45 ` [PATCH 5/5] rv: Add rts monitor Nam Cao
2025-07-31 7:47 ` Gabriele Monaco
2025-08-01 7:58 ` Nam Cao
2025-08-01 9:14 ` Gabriele Monaco
2025-08-04 6:05 ` Nam Cao
2025-08-05 8:40 ` Gabriele Monaco
2025-08-05 12:22 ` Nam Cao
2025-08-05 15:45 ` Nam Cao
2025-08-06 8:15 ` Gabriele Monaco
2025-08-06 8:46 ` Nam Cao
2025-08-06 9:03 ` Gabriele Monaco
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=5065c29035be39dee954f2b233a40ae15dcc5035.camel@redhat.com \
--to=gmonaco@redhat.com \
--cc=bsegall@google.com \
--cc=dietmar.eggemann@arm.com \
--cc=juri.lelli@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mgorman@suse.de \
--cc=mhiramat@kernel.org \
--cc=mingo@redhat.com \
--cc=namcao@linutronix.de \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=vincent.guittot@linaro.org \
--cc=vschneid@redhat.com \
/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;
as well as URLs for NNTP newsgroup(s).