On Tue, Oct 12, 2021 at 04:59:02PM +0200, Heiko Carstens wrote: > 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@xxxxxxxxxxxxx> 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@xxxxxxxxxx/ > > I applied Jiri's patch set and the newly added selftest passes. nice, could I have your Tested-by? ;-) thanks, jirka > > 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. >