From: Leonardo Bras Soares Passos <leobras@redhat.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>,
Masami Hiramatsu <mhiramat@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Yury Norov <yury.norov@gmail.com>,
"Paul E. McKenney" <paulmck@kernel.org>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Nadav Amit <namit@vmware.com>,
Zhen Lei <thunder.leizhen@huawei.com>,
Chen Zhongjin <chenzhongjin@huawei.com>,
linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org,
Marcelo Tosatti <mtosatti@redhat.com>,
vschneid@redhat.com
Subject: Re: [RFC PATCH 1/1] smp: Add tracepoints for functions called with smp_call_function*()
Date: Wed, 3 May 2023 12:53:44 -0300 [thread overview]
Message-ID: <CAJ6HWG44mSBBVK28rH4WyG4777iAnwWE5KqWaPemj8SSpohJ9Q@mail.gmail.com> (raw)
In-Reply-To: <20230503145900.GC1689514@hirez.programming.kicks-ass.net>
On Wed, May 3, 2023 at 12:17 PM Peter Zijlstra <peterz@infradead.org> wrote:
>
> On Wed, Apr 19, 2023 at 12:45:08AM -0300, Leonardo Brįs wrote:
> > On Thu, 2023-04-06 at 11:55 +0200, Peter Zijlstra wrote:
> > > On Thu, Apr 06, 2023 at 04:57:18AM -0300, Leonardo Bras wrote:
> > > > When running RT workloads in isolated CPUs, many cases of deadline misses
> > > > are caused by remote CPU requests such as smp_call_function*().
> > > >
> > > > For those cases, having the names of those functions running around the
> > > > deadline miss moment could help finding a target for the next improvements.
> > > >
> > > > Add tracepoints for acquiring the funtion name & argument before entry and
> > > > after exitting the called function.
> > > >
> > > > Signed-off-by: Leonardo Bras <leobras@redhat.com>
> > >
> > > How are the patches queued there not sufficient?
> > >
> > > https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/log/?h=smp/core
> > >
> >
> > IIUC the last commits add tracepoints that are collected in the
> > requesting CPU, at the moment of scheduling the IPI, which are also useful in
> > some scenarios.
> >
> > On my scenario, it could help a little, since it makes possible to filter what
> > all other cpus are scheduling on the requested cpu. OTOH it could be also be
> > misleading, as the requested cpu could be running something that was scheduled
> > way before.
> >
> > The change I propose does exactly what my scenario need: track exactly which
> > function was running at given time in the requested CPU. With this info, we can
> > check which (if any) remotely requested function was running on given time
> > window.
>
> I was thinking you could simply (graph)-trace
> __flush_smp_call_function_queue() with a max_graph_depth or so (Steve
> says that ought to work).
>
> But even that might be too specific, your use case sounds more like what
> we have the irq-off latency tracer for, and that thing will immediately
> tell you what functions were being ran.
>
> > (An unrelated thing I just thought: We could even use the commits you pointed
> > together with my proposed change in order to measure how long does it take for a
> > requested function to run / complete in the requested cpu)
>
> I don't think you could actually do that; the send tracepoints Valentin
> added don't log the csd address, this means you cannot distinguish
> two CSDs with the same function send from different CPUs.
>
> To do this you'd need to add the csd address to the the ipi_send
> tracepoints and your own (possibly replacing info -- because I don't
> think that's too useful).
Sure, I will improve this in my patch.
You think I should rebase it on top of tip/smp/core in order to add it
to the set?
Thanks!
Leo
>
> Valentin -- is any of this something you'd also find useful?
>
next prev parent reply other threads:[~2023-05-03 15:54 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-06 7:57 [RFC PATCH 1/1] smp: Add tracepoints for functions called with smp_call_function*() Leonardo Bras
2023-04-06 8:15 ` Sebastian Andrzej Siewior
2023-04-06 8:42 ` Leonardo Brás
2023-04-06 13:49 ` Steven Rostedt
2023-04-19 4:04 ` Leonardo Brás
2023-04-06 9:55 ` Peter Zijlstra
2023-04-19 3:45 ` Leonardo Brás
2023-05-03 4:23 ` Leonardo Brás
2023-05-03 14:59 ` Peter Zijlstra
2023-05-03 15:53 ` Leonardo Bras Soares Passos [this message]
2023-05-04 11:59 ` Valentin Schneider
2023-05-04 13:34 ` Steven Rostedt
2023-05-04 15:01 ` Peter Zijlstra
2023-05-10 20:27 ` Leonardo Brás
2023-05-10 22:18 ` Leonardo Bras Soares Passos
2023-05-10 23:05 ` Leonardo Bras Soares Passos
2023-05-11 8:13 ` Valentin Schneider
2023-05-11 9:25 ` Leonardo Bras Soares Passos
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=CAJ6HWG44mSBBVK28rH4WyG4777iAnwWE5KqWaPemj8SSpohJ9Q@mail.gmail.com \
--to=leobras@redhat.com \
--cc=bigeasy@linutronix.de \
--cc=chenzhongjin@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=mhiramat@kernel.org \
--cc=mtosatti@redhat.com \
--cc=namit@vmware.com \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=thunder.leizhen@huawei.com \
--cc=vschneid@redhat.com \
--cc=yury.norov@gmail.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).