[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YWWithSCGThguq7s@osiris>
Date: Tue, 12 Oct 2021 16:59:02 +0200
From: Heiko Carstens <hca@...ux.ibm.com>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
linux-s390@...r.kernel.org, linux-kernel@...r.kernel.org,
Jiri Olsa <jolsa@...hat.com>
Subject: Re: [PATCH 0/4] s390: DYNAMIC_FTRACE_WITH_DIRECT_CALL support
On Tue, Oct 12, 2021 at 09:48:52AM -0400, Steven Rostedt wrote:
> On Tue, 12 Oct 2021 15:37:58 +0200
> Heiko Carstens <hca@...ux.ibm.com> wrote:
> > This small series adds DYNAMIC_FTRACE_WITH_DIRECT_CALL support for
> > s390 and is based on linux-next 20211012.
...
> > Besides the architecture backend this also adds s390 ftrace direct
> > call samples, and slightly changes config option handling a bit, so
> > that options only have to be selected. This way also additional future
> > architectures can easily add their trampolines to the samples.
...
> > If ok, I'd like to get this upstream via the s390 tree with the next
> > merge window.
>
> A quick look at the patches look fine to me. I'll do a bit more digging
> before adding a Reviewed-by.
>
> One thing you may want to note, we are working on fixing direct trampolines
> that conflict with the function graph tracer, and have patches that fix it.
> I'm not that familiar on how ftrace works on s390, but you may want to
> investigate this, because if s390 has the issues that x86 has, where you
> can't have both function graph tracing and a direct trampoline on the same
> function.
>
> See here:
>
> https://lore.kernel.org/all/20211008091336.33616-1-jolsa@kernel.org/
I applied Jiri's patch set and the newly added selftest passes.
Note: s390 will also get HAVE_DYNAMIC_FTRACE_WITH_ARGS support, which is
required for the new selftest - this is currently only in linux-next.
See commit 5740a7c71ab6 ("s390/ftrace: add HAVE_DYNAMIC_FTRACE_WITH_ARGS
support") in linux-next.
Also manually testing with loading the ftrace-direct test module and
enabling the function graph tracer seems to work correctly:
6) + 15.138 us | }
6) | wake_up_process() {
6) | my_direct_func [ftrace_direct]() {
6) | /* waking up ksoftirqd/6-44 */
6) 0.944 us | }
6) | try_to_wake_up() {
6) 0.185 us | kthread_is_per_cpu();
One thing to note: Jiri adds a new a sample module, which obviously
will not compile for s390. Not sure if the config mechanism I propose
with this patch set is the best way to address this - it would then
require to add a config option for each new sample module.
Powered by blists - more mailing lists