linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] ftrace/samples: fix ftrace direct multi config option + s390 support
@ 2021-11-15 19:56 Heiko Carstens
  2021-11-15 19:56 ` [PATCH 1/2] ftrace/samples: add missing Kconfig option for ftrace direct multi sample Heiko Carstens
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Heiko Carstens @ 2021-11-15 19:56 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: linux-s390, linux-kernel, Jiri Olsa, Heiko Carstens

Hi Steven,

two patches for ftrace direct multi sample:

- fix ftrace direct multi sample config option handling, required
  because of an incorrect merge resolution proposed by me.

- add s390 support for ftrace direct multi sample

If you are happy with them, I could carry with the s390 tree and
target for rc2, or you could pick them up. Whatever you prefer.

Thanks,
Heiko

Heiko Carstens (2):
  ftrace/samples: add missing Kconfig option for ftrace direct multi sample
  ftrace/samples: add s390 support for ftrace direct multi sample

 arch/s390/Kconfig                    |  1 +
 arch/x86/Kconfig                     |  2 +-
 samples/Kconfig                      | 11 +++++++++-
 samples/Makefile                     |  2 +-
 samples/ftrace/Makefile              |  2 +-
 samples/ftrace/ftrace-direct-multi.c | 30 ++++++++++++++++++++++++++++
 6 files changed, 44 insertions(+), 4 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/2] ftrace/samples: add missing Kconfig option for ftrace direct multi sample
  2021-11-15 19:56 [PATCH 0/2] ftrace/samples: fix ftrace direct multi config option + s390 support Heiko Carstens
@ 2021-11-15 19:56 ` Heiko Carstens
  2021-11-16 22:43   ` Steven Rostedt
  2021-11-15 19:56 ` [PATCH 2/2] ftrace/samples: add s390 support " Heiko Carstens
  2021-11-16 22:45 ` [PATCH 0/2] ftrace/samples: fix ftrace direct multi config option + s390 support Steven Rostedt
  2 siblings, 1 reply; 8+ messages in thread
From: Heiko Carstens @ 2021-11-15 19:56 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: linux-s390, linux-kernel, Jiri Olsa, Heiko Carstens

Currently it is not possible to build the ftrace direct multi example
anymore due to broken config dependencies. Fix this by adding
SAMPLE_FTRACE_DIRECT_MULTI config option.

This broke when merging s390-5.16-1 due to an incorrect merge conflict
resolution proposed by me.

Also rename SAMPLE_FTRACE_MULTI_DIRECT to SAMPLE_FTRACE_DIRECT_MULTI
so it matches the module name.

Fixes: 0b707e572a19 ("Merge tag 's390-5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux")
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
---
 arch/x86/Kconfig        |  2 +-
 samples/Kconfig         | 11 ++++++++++-
 samples/Makefile        |  2 +-
 samples/ftrace/Makefile |  2 +-
 4 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 95dd1ee01546..7399327d1eff 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -193,7 +193,7 @@ config X86
 	select HAVE_DYNAMIC_FTRACE_WITH_ARGS	if X86_64
 	select HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
 	select HAVE_SAMPLE_FTRACE_DIRECT	if X86_64
-	select HAVE_SAMPLE_FTRACE_MULTI_DIRECT	if X86_64
+	select HAVE_SAMPLE_FTRACE_DIRECT_MULTI	if X86_64
 	select HAVE_EBPF_JIT
 	select HAVE_EFFICIENT_UNALIGNED_ACCESS
 	select HAVE_EISA
diff --git a/samples/Kconfig b/samples/Kconfig
index bec3528aa2de..43d2e9aa557f 100644
--- a/samples/Kconfig
+++ b/samples/Kconfig
@@ -31,6 +31,15 @@ config SAMPLE_FTRACE_DIRECT
 	  This builds an ftrace direct function example
 	  that hooks to wake_up_process and prints the parameters.
 
+config SAMPLE_FTRACE_DIRECT_MULTI
+	tristate "Build register_ftrace_direct_multi() example"
+	depends on DYNAMIC_FTRACE_WITH_DIRECT_CALLS && m
+	depends on HAVE_SAMPLE_FTRACE_DIRECT_MULTI
+	help
+	  This builds an ftrace direct function example
+	  that hooks to wake_up_process and schedule, and prints
+	  the function addresses.
+
 config SAMPLE_TRACE_ARRAY
         tristate "Build sample module for kernel access to Ftrace instancess"
 	depends on EVENT_TRACING && m
@@ -237,5 +246,5 @@ endif # SAMPLES
 config HAVE_SAMPLE_FTRACE_DIRECT
 	bool
 
-config HAVE_SAMPLE_FTRACE_MULTI_DIRECT
+config HAVE_SAMPLE_FTRACE_DIRECT_MULTI
 	bool
diff --git a/samples/Makefile b/samples/Makefile
index b7b98307c2b4..4bcd6b93bffa 100644
--- a/samples/Makefile
+++ b/samples/Makefile
@@ -22,7 +22,7 @@ subdir-$(CONFIG_SAMPLE_TIMER)		+= timers
 obj-$(CONFIG_SAMPLE_TRACE_EVENTS)	+= trace_events/
 obj-$(CONFIG_SAMPLE_TRACE_PRINTK)	+= trace_printk/
 obj-$(CONFIG_SAMPLE_FTRACE_DIRECT)	+= ftrace/
-obj-$(CONFIG_SAMPLE_FTRACE_MULTI_DIRECT) += ftrace/
+obj-$(CONFIG_SAMPLE_FTRACE_DIRECT_MULTI) += ftrace/
 obj-$(CONFIG_SAMPLE_TRACE_ARRAY)	+= ftrace/
 subdir-$(CONFIG_SAMPLE_UHID)		+= uhid
 obj-$(CONFIG_VIDEO_PCI_SKELETON)	+= v4l/
diff --git a/samples/ftrace/Makefile b/samples/ftrace/Makefile
index e8a3f8520a44..b9198e2eef28 100644
--- a/samples/ftrace/Makefile
+++ b/samples/ftrace/Makefile
@@ -3,7 +3,7 @@
 obj-$(CONFIG_SAMPLE_FTRACE_DIRECT) += ftrace-direct.o
 obj-$(CONFIG_SAMPLE_FTRACE_DIRECT) += ftrace-direct-too.o
 obj-$(CONFIG_SAMPLE_FTRACE_DIRECT) += ftrace-direct-modify.o
-obj-$(CONFIG_SAMPLE_FTRACE_MULTI_DIRECT) += ftrace-direct-multi.o
+obj-$(CONFIG_SAMPLE_FTRACE_DIRECT_MULTI) += ftrace-direct-multi.o
 
 CFLAGS_sample-trace-array.o := -I$(src)
 obj-$(CONFIG_SAMPLE_TRACE_ARRAY) += sample-trace-array.o
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/2] ftrace/samples: add s390 support for ftrace direct multi sample
  2021-11-15 19:56 [PATCH 0/2] ftrace/samples: fix ftrace direct multi config option + s390 support Heiko Carstens
  2021-11-15 19:56 ` [PATCH 1/2] ftrace/samples: add missing Kconfig option for ftrace direct multi sample Heiko Carstens
@ 2021-11-15 19:56 ` Heiko Carstens
  2021-11-16 22:44   ` Steven Rostedt
  2021-11-16 22:45 ` [PATCH 0/2] ftrace/samples: fix ftrace direct multi config option + s390 support Steven Rostedt
  2 siblings, 1 reply; 8+ messages in thread
From: Heiko Carstens @ 2021-11-15 19:56 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: linux-s390, linux-kernel, Jiri Olsa, Heiko Carstens

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
---
 arch/s390/Kconfig                    |  1 +
 samples/ftrace/ftrace-direct-multi.c | 30 ++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+)

diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 8857ec3b97eb..1462b8182425 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -194,6 +194,7 @@ config S390
 	select HAVE_RELIABLE_STACKTRACE
 	select HAVE_RSEQ
 	select HAVE_SAMPLE_FTRACE_DIRECT
+	select HAVE_SAMPLE_FTRACE_DIRECT_MULTI
 	select HAVE_SOFTIRQ_ON_OWN_STACK
 	select HAVE_SYSCALL_TRACEPOINTS
 	select HAVE_VIRT_CPU_ACCOUNTING
diff --git a/samples/ftrace/ftrace-direct-multi.c b/samples/ftrace/ftrace-direct-multi.c
index b6d7806b400e..2fafc9afcbf0 100644
--- a/samples/ftrace/ftrace-direct-multi.c
+++ b/samples/ftrace/ftrace-direct-multi.c
@@ -4,6 +4,7 @@
 #include <linux/mm.h> /* for handle_mm_fault() */
 #include <linux/ftrace.h>
 #include <linux/sched/stat.h>
+#include <asm/asm-offsets.h>
 
 extern void my_direct_func(unsigned long ip);
 
@@ -14,6 +15,8 @@ void my_direct_func(unsigned long ip)
 
 extern void my_tramp(void *);
 
+#ifdef CONFIG_X86_64
+
 asm (
 "	.pushsection    .text, \"ax\", @progbits\n"
 "	.type		my_tramp, @function\n"
@@ -31,6 +34,33 @@ asm (
 "	.popsection\n"
 );
 
+#endif /* CONFIG_X86_64 */
+
+#ifdef CONFIG_S390
+
+asm (
+"	.pushsection	.text, \"ax\", @progbits\n"
+"	.type		my_tramp, @function\n"
+"	.globl		my_tramp\n"
+"   my_tramp:"
+"	lgr		%r1,%r15\n"
+"	stmg		%r0,%r5,"__stringify(__SF_GPRS)"(%r15)\n"
+"	stg		%r14,"__stringify(__SF_GPRS+8*8)"(%r15)\n"
+"	aghi		%r15,"__stringify(-STACK_FRAME_OVERHEAD)"\n"
+"	stg		%r1,"__stringify(__SF_BACKCHAIN)"(%r15)\n"
+"	lgr		%r2,%r0\n"
+"	brasl		%r14,my_direct_func\n"
+"	aghi		%r15,"__stringify(STACK_FRAME_OVERHEAD)"\n"
+"	lmg		%r0,%r5,"__stringify(__SF_GPRS)"(%r15)\n"
+"	lg		%r14,"__stringify(__SF_GPRS+8*8)"(%r15)\n"
+"	lgr		%r1,%r0\n"
+"	br		%r1\n"
+"	.size		my_tramp, .-my_tramp\n"
+"	.popsection\n"
+);
+
+#endif /* CONFIG_S390 */
+
 static struct ftrace_ops direct;
 
 static int __init ftrace_direct_multi_init(void)
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] ftrace/samples: add missing Kconfig option for ftrace direct multi sample
  2021-11-15 19:56 ` [PATCH 1/2] ftrace/samples: add missing Kconfig option for ftrace direct multi sample Heiko Carstens
@ 2021-11-16 22:43   ` Steven Rostedt
  0 siblings, 0 replies; 8+ messages in thread
From: Steven Rostedt @ 2021-11-16 22:43 UTC (permalink / raw)
  To: Heiko Carstens; +Cc: linux-s390, linux-kernel, Jiri Olsa

On Mon, 15 Nov 2021 20:56:13 +0100
Heiko Carstens <hca@linux.ibm.com> wrote:

> Currently it is not possible to build the ftrace direct multi example
> anymore due to broken config dependencies. Fix this by adding
> SAMPLE_FTRACE_DIRECT_MULTI config option.
> 
> This broke when merging s390-5.16-1 due to an incorrect merge conflict
> resolution proposed by me.
> 
> Also rename SAMPLE_FTRACE_MULTI_DIRECT to SAMPLE_FTRACE_DIRECT_MULTI
> so it matches the module name.
> 
> Fixes: 0b707e572a19 ("Merge tag 's390-5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux")
> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
> ---
> 

Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org>

-- Steve

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] ftrace/samples: add s390 support for ftrace direct multi sample
  2021-11-15 19:56 ` [PATCH 2/2] ftrace/samples: add s390 support " Heiko Carstens
@ 2021-11-16 22:44   ` Steven Rostedt
  2021-11-17  9:12     ` Heiko Carstens
  0 siblings, 1 reply; 8+ messages in thread
From: Steven Rostedt @ 2021-11-16 22:44 UTC (permalink / raw)
  To: Heiko Carstens; +Cc: linux-s390, linux-kernel, Jiri Olsa

On Mon, 15 Nov 2021 20:56:14 +0100
Heiko Carstens <hca@linux.ibm.com> wrote:

I know this is for your tree, but you really should never have an empty
change log. I could think of many things to say here.

The only acceptable empty change log IMHO is spelling fixes.

-- Steve

> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
> ---
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/2] ftrace/samples: fix ftrace direct multi config option + s390 support
  2021-11-15 19:56 [PATCH 0/2] ftrace/samples: fix ftrace direct multi config option + s390 support Heiko Carstens
  2021-11-15 19:56 ` [PATCH 1/2] ftrace/samples: add missing Kconfig option for ftrace direct multi sample Heiko Carstens
  2021-11-15 19:56 ` [PATCH 2/2] ftrace/samples: add s390 support " Heiko Carstens
@ 2021-11-16 22:45 ` Steven Rostedt
  2021-11-17  9:13   ` Heiko Carstens
  2 siblings, 1 reply; 8+ messages in thread
From: Steven Rostedt @ 2021-11-16 22:45 UTC (permalink / raw)
  To: Heiko Carstens; +Cc: linux-s390, linux-kernel, Jiri Olsa

On Mon, 15 Nov 2021 20:56:12 +0100
Heiko Carstens <hca@linux.ibm.com> wrote:

> Hi Steven,
> 
> two patches for ftrace direct multi sample:
> 
> - fix ftrace direct multi sample config option handling, required
>   because of an incorrect merge resolution proposed by me.
> 
> - add s390 support for ftrace direct multi sample
> 
> If you are happy with them, I could carry with the s390 tree and
> target for rc2, or you could pick them up. Whatever you prefer.

I'm good with you taking them through your tree. I acked the first patch as
it touches my code. And the second belongs to you anyway, but I would still
ask you to add some description to the change log.

Cheers,

-- Steve

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] ftrace/samples: add s390 support for ftrace direct multi sample
  2021-11-16 22:44   ` Steven Rostedt
@ 2021-11-17  9:12     ` Heiko Carstens
  0 siblings, 0 replies; 8+ messages in thread
From: Heiko Carstens @ 2021-11-17  9:12 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: linux-s390, linux-kernel, Jiri Olsa

On Tue, Nov 16, 2021 at 05:44:30PM -0500, Steven Rostedt wrote:
> On Mon, 15 Nov 2021 20:56:14 +0100
> Heiko Carstens <hca@linux.ibm.com> wrote:
> 
> I know this is for your tree, but you really should never have an empty
> change log. I could think of many things to say here.
> 
> The only acceptable empty change log IMHO is spelling fixes.

I don't think there is much of a disagreement here, except me being
lazy. I'll add a couple of words.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/2] ftrace/samples: fix ftrace direct multi config option + s390 support
  2021-11-16 22:45 ` [PATCH 0/2] ftrace/samples: fix ftrace direct multi config option + s390 support Steven Rostedt
@ 2021-11-17  9:13   ` Heiko Carstens
  0 siblings, 0 replies; 8+ messages in thread
From: Heiko Carstens @ 2021-11-17  9:13 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: linux-s390, linux-kernel, Jiri Olsa

On Tue, Nov 16, 2021 at 05:45:33PM -0500, Steven Rostedt wrote:
> > two patches for ftrace direct multi sample:
> > 
> > - fix ftrace direct multi sample config option handling, required
> >   because of an incorrect merge resolution proposed by me.
> > 
> > - add s390 support for ftrace direct multi sample
> > 
> > If you are happy with them, I could carry with the s390 tree and
> > target for rc2, or you could pick them up. Whatever you prefer.
> 
> I'm good with you taking them through your tree. I acked the first patch as
> it touches my code. And the second belongs to you anyway, but I would still
> ask you to add some description to the change log.

Will do, and I'll add to the s390 tree.

Thanks!

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-11-17  9:13 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-15 19:56 [PATCH 0/2] ftrace/samples: fix ftrace direct multi config option + s390 support Heiko Carstens
2021-11-15 19:56 ` [PATCH 1/2] ftrace/samples: add missing Kconfig option for ftrace direct multi sample Heiko Carstens
2021-11-16 22:43   ` Steven Rostedt
2021-11-15 19:56 ` [PATCH 2/2] ftrace/samples: add s390 support " Heiko Carstens
2021-11-16 22:44   ` Steven Rostedt
2021-11-17  9:12     ` Heiko Carstens
2021-11-16 22:45 ` [PATCH 0/2] ftrace/samples: fix ftrace direct multi config option + s390 support Steven Rostedt
2021-11-17  9:13   ` Heiko Carstens

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).