* [PATCH 1/2] tracing: Move non-trace_printk prototypes back to kernel.h [not found] <20260621093430.264983361@kernel.org> @ 2026-06-21 9:34 ` Steven Rostedt [not found] ` <20260621093811.168514984@kernel.org> 1 sibling, 0 replies; 4+ messages in thread From: Steven Rostedt @ 2026-06-21 9:34 UTC (permalink / raw) To: linux-kernel, linux-trace-kernel Cc: Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers, Andrew Morton, Linus Torvalds, Sebastian Andrzej Siewior, John Ogness, Thomas Gleixner, Peter Zijlstra, Julia Lawall, Yury Norov, linux-doc, linux-kbuild, linuxppc-dev, dri-devel, linux-stm32, linux-arm-kernel, linux-rdma, linux-usb, linux-ext4, linux-nfs, kvm, intel-gfx From: Steven Rostedt <rostedt@goodmis.org> In order to remove the include to trace_printk.h from kernel.h the tracing control prototypes need to be moved back into kernel.h. That's because they are used in other common header files like rcu.h. There's no point in removing trace_printk.h from kernel.h if it just gets added back to other common headers. Prototypes are very cheap for the compiler and should not be an issue. Signed-off-by: Steven Rostedt <rostedt@goodmis.org> --- include/linux/kernel.h | 18 ++++++++++++++++++ include/linux/trace_printk.h | 17 ----------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/include/linux/kernel.h b/include/linux/kernel.h index e5570a16cbb1..c3c68128827c 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -194,4 +194,22 @@ extern enum system_states system_state; # define REBUILD_DUE_TO_DYNAMIC_FTRACE #endif +#ifdef CONFIG_TRACING +void tracing_on(void); +void tracing_off(void); +int tracing_is_on(void); +void tracing_snapshot(void); +void tracing_snapshot_alloc(void); +void tracing_start(void); +void tracing_stop(void); +#else +static inline void tracing_start(void) { } +static inline void tracing_stop(void) { } +static inline void tracing_on(void) { } +static inline void tracing_off(void) { } +static inline int tracing_is_on(void) { return 0; } +static inline void tracing_snapshot(void) { } +static inline void tracing_snapshot_alloc(void) { } +#endif + #endif diff --git a/include/linux/trace_printk.h b/include/linux/trace_printk.h index 3d54f440dccf..879fed0805fd 100644 --- a/include/linux/trace_printk.h +++ b/include/linux/trace_printk.h @@ -35,15 +35,6 @@ enum ftrace_dump_mode { }; #ifdef CONFIG_TRACING -void tracing_on(void); -void tracing_off(void); -int tracing_is_on(void); -void tracing_snapshot(void); -void tracing_snapshot_alloc(void); - -extern void tracing_start(void); -extern void tracing_stop(void); - static inline __printf(1, 2) void ____trace_printk_check_format(const char *fmt, ...) { @@ -176,16 +167,8 @@ __ftrace_vprintk(unsigned long ip, const char *fmt, va_list ap); extern void ftrace_dump(enum ftrace_dump_mode oops_dump_mode); #else -static inline void tracing_start(void) { } -static inline void tracing_stop(void) { } static inline void trace_dump_stack(int skip) { } -static inline void tracing_on(void) { } -static inline void tracing_off(void) { } -static inline int tracing_is_on(void) { return 0; } -static inline void tracing_snapshot(void) { } -static inline void tracing_snapshot_alloc(void) { } - static inline __printf(1, 2) int trace_printk(const char *fmt, ...) { -- 2.53.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
[parent not found: <20260621093811.168514984@kernel.org>]
* Re: [PATCH 2/2] tracing: Add CONFIG_TRACE_PRINTK_DEBUGGING to clean up kernel.h [not found] ` <20260621093811.168514984@kernel.org> @ 2026-06-21 9:47 ` Steven Rostedt 2026-06-21 10:13 ` Thomas Gleixner 1 sibling, 0 replies; 4+ messages in thread From: Steven Rostedt @ 2026-06-21 9:47 UTC (permalink / raw) To: linux-kernel, linux-trace-kernel Cc: Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers, Andrew Morton, Linus Torvalds, Sebastian Andrzej Siewior, John Ogness, Thomas Gleixner, Peter Zijlstra, Julia Lawall, Yury Norov, linux-doc, linux-kbuild, linuxppc-dev, dri-devel, linux-stm32, linux-arm-kernel, linux-rdma, linux-usb, linux-ext4, linux-nfs, kvm, intel-gfx On Sun, 21 Jun 2026 05:34:32 -0400 Steven Rostedt <rostedt@kernel.org> wrote: > Instead of having trace_printk.h included in kernel.h, create a config > TRACE_PRINTK_DEBUGGING that when set will update the CFLAGS in the > Makefile to allow developers to add trace_printk() without the need to add > the include for it. Having it included in the Makefile keeps it from being > in the dependency chain and it will not waste extra CPU cycles for those > building the kernel without using trace_printk. Bah, I only tested with the config option enabled, and missed some dependencies with it disabled. For instance, rcu.h also uses ftrace_dump() so that too needs to go into kernel.h. I also need to add a few more includes to trace_printk.h. OK, I need to run this through all my tests to find where else I missed adding the includes. But the idea should hopefully satisfy everyone. -- Steve ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] tracing: Add CONFIG_TRACE_PRINTK_DEBUGGING to clean up kernel.h [not found] ` <20260621093811.168514984@kernel.org> 2026-06-21 9:47 ` [PATCH 2/2] tracing: Add CONFIG_TRACE_PRINTK_DEBUGGING to clean up kernel.h Steven Rostedt @ 2026-06-21 10:13 ` Thomas Gleixner 2026-06-21 10:38 ` Steven Rostedt 1 sibling, 1 reply; 4+ messages in thread From: Thomas Gleixner @ 2026-06-21 10:13 UTC (permalink / raw) To: Steven Rostedt, linux-kernel, linux-trace-kernel Cc: Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers, Andrew Morton, Linus Torvalds, Sebastian Andrzej Siewior, John Ogness, Peter Zijlstra, Julia Lawall, Yury Norov, linux-doc, linux-kbuild, linuxppc-dev, dri-devel, linux-stm32, linux-arm-kernel, linux-rdma, linux-usb, linux-ext4, linux-nfs, kvm, intel-gfx On Sun, Jun 21 2026 at 05:34, Steven Rostedt wrote: > Instead of having trace_printk.h included in kernel.h, create a config > TRACE_PRINTK_DEBUGGING that when set will update the CFLAGS in the > Makefile to allow developers to add trace_printk() without the need to add > the include for it. Having it included in the Makefile keeps it from being > in the dependency chain and it will not waste extra CPU cycles for those > building the kernel without using trace_printk. IOW, you make it worse just because. With the header being separate I add the three trace_printk()s and the include to the source file I'm investigating. The recompile will build exactly this source file. Having to enable the config knob will result in a full kernel rebuild for no value. Seriously? Thanks, tglx ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] tracing: Add CONFIG_TRACE_PRINTK_DEBUGGING to clean up kernel.h 2026-06-21 10:13 ` Thomas Gleixner @ 2026-06-21 10:38 ` Steven Rostedt 0 siblings, 0 replies; 4+ messages in thread From: Steven Rostedt @ 2026-06-21 10:38 UTC (permalink / raw) To: Thomas Gleixner, Steven Rostedt, linux-kernel, linux-trace-kernel Cc: Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers, Andrew Morton, Linus Torvalds, Sebastian Andrzej Siewior, John Ogness, Peter Zijlstra, Julia Lawall, Yury Norov, linux-doc, linux-kbuild, linuxppc-dev, dri-devel, linux-stm32, linux-arm-kernel, linux-rdma, linux-usb, linux-ext4, linux-nfs, kvm, intel-gfx On June 21, 2026 11:13:00 AM GMT+01:00, Thomas Gleixner <tglx@kernel.org> wrote: >On Sun, Jun 21 2026 at 05:34, Steven Rostedt wrote: >> Instead of having trace_printk.h included in kernel.h, create a config >> TRACE_PRINTK_DEBUGGING that when set will update the CFLAGS in the >> Makefile to allow developers to add trace_printk() without the need to add >> the include for it. Having it included in the Makefile keeps it from being >> in the dependency chain and it will not waste extra CPU cycles for those >> building the kernel without using trace_printk. > >IOW, you make it worse just because. > >With the header being separate I add the three trace_printk()s and the >include to the source file I'm investigating. The recompile will build >exactly this source file. > >Having to enable the config knob will result in a full kernel rebuild >for no value. > >Seriously? Like having lockdep enabled, this would always be set in the development environment. It's not something to only enable when you need to add a trace_printk. If you don't want to rebuild everything, by all means add the include file by file. There's nothing preventing you to do that with this solution. -- Steve P.S. I'm replying on my phone as I'm in the London Tube. Thus why I'm not trimming my email. > >Thanks, > > tglx > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-06-21 11:13 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260621093430.264983361@kernel.org>
2026-06-21 9:34 ` [PATCH 1/2] tracing: Move non-trace_printk prototypes back to kernel.h Steven Rostedt
[not found] ` <20260621093811.168514984@kernel.org>
2026-06-21 9:47 ` [PATCH 2/2] tracing: Add CONFIG_TRACE_PRINTK_DEBUGGING to clean up kernel.h Steven Rostedt
2026-06-21 10:13 ` Thomas Gleixner
2026-06-21 10:38 ` Steven Rostedt
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox