Messages in this thread | | | Date | Fri, 17 Feb 2023 21:04:41 +0530 | Subject | Re: [PATCH v2 1/6] tracing: always use canonical ftrace path | From | Mukesh Ojha <> |
| |
On 2/16/2023 4:03 AM, Ross Zwisler wrote: > The canonical location for the tracefs filesystem is at /sys/kernel/tracing. > > But, from Documentation/trace/ftrace.rst: > > Before 4.1, all ftrace tracing control files were within the debugfs > file system, which is typically located at /sys/kernel/debug/tracing. > For backward compatibility, when mounting the debugfs file system, > the tracefs file system will be automatically mounted at: > > /sys/kernel/debug/tracing > > Many comments and Kconfig help messages in the tracing code still refer > to this older debugfs path, so let's update them to avoid confusion. > > Signed-off-by: Ross Zwisler <zwisler@google.com> > --- > include/linux/kernel.h | 2 +- > include/linux/tracepoint.h | 4 ++-- > kernel/trace/Kconfig | 20 ++++++++++---------- > kernel/trace/kprobe_event_gen_test.c | 2 +- > kernel/trace/ring_buffer.c | 2 +- > kernel/trace/synth_event_gen_test.c | 2 +- > kernel/trace/trace.c | 2 +- > samples/user_events/example.c | 4 ++-- > scripts/tracing/draw_functrace.py | 6 +++--- > tools/lib/api/fs/tracing_path.c | 4 ++-- > tools/tracing/latency/latency-collector.c | 2 +- > 11 files changed, 25 insertions(+), 25 deletions(-) > > diff --git a/include/linux/kernel.h b/include/linux/kernel.h > index fe6efb24d151..40bce7495af8 100644 > --- a/include/linux/kernel.h > +++ b/include/linux/kernel.h > @@ -297,7 +297,7 @@ bool mac_pton(const char *s, u8 *mac); > * > * Use tracing_on/tracing_off when you want to quickly turn on or off > * tracing. It simply enables or disables the recording of the trace events. > - * This also corresponds to the user space /sys/kernel/debug/tracing/tracing_on > + * This also corresponds to the user space /sys/kernel/tracing/tracing_on > * file, which gives a means for the kernel and userspace to interact. > * Place a tracing_off() in the kernel where you want tracing to end. > * From user space, examine the trace, and then echo 1 > tracing_on > diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h > index 4b33b95eb8be..fa1004fcf810 100644 > --- a/include/linux/tracepoint.h > +++ b/include/linux/tracepoint.h > @@ -471,7 +471,7 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p) > * * This is how the trace record is structured and will > * * be saved into the ring buffer. These are the fields > * * that will be exposed to user-space in > - * * /sys/kernel/debug/tracing/events/<*>/format. > + * * /sys/kernel/tracing/events/<*>/format. > * * > * * The declared 'local variable' is called '__entry' > * * > @@ -531,7 +531,7 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p) > * tracepoint callback (this is used by programmatic plugins and > * can also by used by generic instrumentation like SystemTap), and > * it is also used to expose a structured trace record in > - * /sys/kernel/debug/tracing/events/. > + * /sys/kernel/tracing/events/. > * > * A set of (un)registration functions can be passed to the variant > * TRACE_EVENT_FN to perform any (un)registration work. > diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig > index d7043043f59c..5f5e64f9e715 100644 > --- a/kernel/trace/Kconfig > +++ b/kernel/trace/Kconfig > @@ -239,7 +239,7 @@ config DYNAMIC_FTRACE > enabled, and the functions not enabled will not affect > performance of the system. > > - See the files in /sys/kernel/debug/tracing: > + See the files in /sys/kernel/tracing: > available_filter_functions > set_ftrace_filter > set_ftrace_notrace > @@ -299,7 +299,7 @@ config STACK_TRACER > select KALLSYMS > help > This special tracer records the maximum stack footprint of the > - kernel and displays it in /sys/kernel/debug/tracing/stack_trace. > + kernel and displays it in /sys/kernel/tracing/stack_trace. > > This tracer works by hooking into every function call that the > kernel executes, and keeping a maximum stack depth value and > @@ -339,7 +339,7 @@ config IRQSOFF_TRACER > disabled by default and can be runtime (re-)started > via: > > - echo 0 > /sys/kernel/debug/tracing/tracing_max_latency > + echo 0 > /sys/kernel/tracing/tracing_max_latency > > (Note that kernel size and overhead increase with this option > enabled. This option and the preempt-off timing option can be > @@ -363,7 +363,7 @@ config PREEMPT_TRACER > disabled by default and can be runtime (re-)started > via: > > - echo 0 > /sys/kernel/debug/tracing/tracing_max_latency > + echo 0 > /sys/kernel/tracing/tracing_max_latency > > (Note that kernel size and overhead increase with this option > enabled. This option and the irqs-off timing option can be > @@ -515,7 +515,7 @@ config TRACER_SNAPSHOT > Allow tracing users to take snapshot of the current buffer using the > ftrace interface, e.g.: > > - echo 1 > /sys/kernel/debug/tracing/snapshot > + echo 1 > /sys/kernel/tracing/snapshot > cat snapshot > > config TRACER_SNAPSHOT_PER_CPU_SWAP > @@ -527,7 +527,7 @@ config TRACER_SNAPSHOT_PER_CPU_SWAP > full swap (all buffers). If this is set, then the following is > allowed: > > - echo 1 > /sys/kernel/debug/tracing/per_cpu/cpu2/snapshot > + echo 1 > /sys/kernel/tracing/per_cpu/cpu2/snapshot > > After which, only the tracing buffer for CPU 2 was swapped with > the main tracing buffer, and the other CPU buffers remain the same. > @@ -574,7 +574,7 @@ config PROFILE_ANNOTATED_BRANCHES > This tracer profiles all likely and unlikely macros > in the kernel. It will display the results in: > > - /sys/kernel/debug/tracing/trace_stat/branch_annotated > + /sys/kernel/tracing/trace_stat/branch_annotated > > Note: this will add a significant overhead; only turn this > on if you need to profile the system's use of these macros. > @@ -587,7 +587,7 @@ config PROFILE_ALL_BRANCHES > taken in the kernel is recorded whether it hit or miss. > The results will be displayed in: > > - /sys/kernel/debug/tracing/trace_stat/branch_all > + /sys/kernel/tracing/trace_stat/branch_all > > This option also enables the likely/unlikely profiler. > > @@ -638,8 +638,8 @@ config BLK_DEV_IO_TRACE > Tracing also is possible using the ftrace interface, e.g.: > > echo 1 > /sys/block/sda/sda1/trace/enable > - echo blk > /sys/kernel/debug/tracing/current_tracer > - cat /sys/kernel/debug/tracing/trace_pipe > + echo blk > /sys/kernel/tracing/current_tracer > + cat /sys/kernel/tracing/trace_pipe > > If unsure, say N. > > diff --git a/kernel/trace/kprobe_event_gen_test.c b/kernel/trace/kprobe_event_gen_test.c > index c736487fc0e4..4850fdfe27f1 100644 > --- a/kernel/trace/kprobe_event_gen_test.c > +++ b/kernel/trace/kprobe_event_gen_test.c > @@ -21,7 +21,7 @@ > * Then: > * > * # insmod kernel/trace/kprobe_event_gen_test.ko > - * # cat /sys/kernel/debug/tracing/trace > + * # cat /sys/kernel/tracing/trace > * > * You should see many instances of the "gen_kprobe_test" and > * "gen_kretprobe_test" events in the trace buffer. > diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c > index c366a0a9ddba..4cdb2feccff3 100644 > --- a/kernel/trace/ring_buffer.c > +++ b/kernel/trace/ring_buffer.c > @@ -2886,7 +2886,7 @@ rb_check_timestamp(struct ring_buffer_per_cpu *cpu_buffer, > sched_clock_stable() ? "" : > "If you just came from a suspend/resume,\n" > "please switch to the trace global clock:\n" > - " echo global > /sys/kernel/debug/tracing/trace_clock\n" > + " echo global > /sys/kernel/tracing/trace_clock\n" > "or add trace_clock=global to the kernel command line\n"); > } > > diff --git a/kernel/trace/synth_event_gen_test.c b/kernel/trace/synth_event_gen_test.c > index 8d77526892f4..8dfe85499d4a 100644 > --- a/kernel/trace/synth_event_gen_test.c > +++ b/kernel/trace/synth_event_gen_test.c > @@ -22,7 +22,7 @@ > * Then: > * > * # insmod kernel/trace/synth_event_gen_test.ko > - * # cat /sys/kernel/debug/tracing/trace > + * # cat /sys/kernel/tracing/trace > * > * You should see several events in the trace buffer - > * "create_synth_test", "empty_synth_test", and several instances of > diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c > index c9e40f692650..1101220052b3 100644 > --- a/kernel/trace/trace.c > +++ b/kernel/trace/trace.c > @@ -1142,7 +1142,7 @@ void tracing_snapshot_instance(struct trace_array *tr) > * > * Note, make sure to allocate the snapshot with either > * a tracing_snapshot_alloc(), or by doing it manually > - * with: echo 1 > /sys/kernel/debug/tracing/snapshot > + * with: echo 1 > /sys/kernel/tracing/snapshot > * > * If the snapshot buffer is not allocated, it will stop tracing. > * Basically making a permanent snapshot. > diff --git a/samples/user_events/example.c b/samples/user_events/example.c > index d06dc24156ec..18e34c9d708e 100644 > --- a/samples/user_events/example.c > +++ b/samples/user_events/example.c > @@ -23,8 +23,8 @@ > #endif > > /* Assumes debugfs is mounted */ > -const char *data_file = "/sys/kernel/debug/tracing/user_events_data"; > -const char *status_file = "/sys/kernel/debug/tracing/user_events_status"; > +const char *data_file = "/sys/kernel/tracing/user_events_data"; > +const char *status_file = "/sys/kernel/tracing/user_events_status"; > > static int event_status(long **status) > { > diff --git a/scripts/tracing/draw_functrace.py b/scripts/tracing/draw_functrace.py > index 438516bdfb3c..42fa87300941 100755 > --- a/scripts/tracing/draw_functrace.py > +++ b/scripts/tracing/draw_functrace.py > @@ -12,9 +12,9 @@ calls. Only the functions's names and the call time are provided. > > Usage: > Be sure that you have CONFIG_FUNCTION_TRACER > - # mount -t debugfs nodev /sys/kernel/debug > - # echo function > /sys/kernel/debug/tracing/current_tracer > - $ cat /sys/kernel/debug/tracing/trace_pipe > ~/raw_trace_func > + # mount -t tracefs nodev /sys/kernel/tracing > + # echo function > /sys/kernel/tracing/current_tracer > + $ cat /sys/kernel/tracing/trace_pipe > ~/raw_trace_func > Wait some times but not too much, the script is a bit slow. > Break the pipe (Ctrl + Z) > $ scripts/tracing/draw_functrace.py < ~/raw_trace_func > draw_functrace > diff --git a/tools/lib/api/fs/tracing_path.c b/tools/lib/api/fs/tracing_path.c > index b8e457c841ab..7ba3e81274e8 100644 > --- a/tools/lib/api/fs/tracing_path.c > +++ b/tools/lib/api/fs/tracing_path.c > @@ -14,8 +14,8 @@ > #include "tracing_path.h" > > static char tracing_mnt[PATH_MAX] = "/sys/kernel/debug"; > -static char tracing_path[PATH_MAX] = "/sys/kernel/debug/tracing"; > -static char tracing_events_path[PATH_MAX] = "/sys/kernel/debug/tracing/events"; > +static char tracing_path[PATH_MAX] = "/sys/kernel/tracing"; > +static char tracing_events_path[PATH_MAX] = "/sys/kernel/tracing/events"; > > static void __tracing_path_set(const char *tracing, const char *mountpoint) > { > diff --git a/tools/tracing/latency/latency-collector.c b/tools/tracing/latency/latency-collector.c > index 59a7f2346eab..0fd9c747d396 100644 > --- a/tools/tracing/latency/latency-collector.c > +++ b/tools/tracing/latency/latency-collector.c > @@ -1584,7 +1584,7 @@ static void *do_printloop(void *arg) > /* > * Toss a coin to decide if we want to sleep before printing > * out the backtrace. The reason for this is that opening > - * /sys/kernel/debug/tracing/trace will cause a blackout of > + * /sys/kernel/tracing/trace will cause a blackout of > * hundreds of ms, where no latencies will be noted by the > * latency tracer. Thus by randomly sleeping we try to avoid > * missing traces systematically due to this. With this option
LGTM.
Reviewed-by: Mukesh Ojha <quic_mojha@quicinc.com>
-Mukesh
| |