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
A few scripts in tools/power still refer to this older debugfs path, so
let's update them to avoid confusion.
Signed-off-by: Ross Zwisler <zwisler@google.com>
---
tools/power/pm-graph/sleepgraph.py | 4 ++--
tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py | 4 ++--
.../x86/intel_pstate_tracer/intel_pstate_tracer.py | 10 +++++-----
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/tools/power/pm-graph/sleepgraph.py b/tools/power/pm-graph/sleepgraph.py
index cfe343306e08..eddf8101ddf6 100755
--- a/tools/power/pm-graph/sleepgraph.py
+++ b/tools/power/pm-graph/sleepgraph.py
@@ -120,9 +120,9 @@ class SystemValues:
cgexp = False
testdir = ''
outdir = ''
- tpath = '/sys/kernel/debug/tracing/'
+ tpath = '/sys/kernel/tracing/'
fpdtpath = '/sys/firmware/acpi/tables/FPDT'
- epath = '/sys/kernel/debug/tracing/events/power/'
+ epath = '/sys/kernel/tracing/events/power/'
pmdpath = '/sys/power/pm_debug_messages'
s0ixpath = '/sys/module/intel_pmc_core/parameters/warn_on_s0ix_failures'
s0ixres = '/sys/devices/system/cpu/cpuidle/low_power_idle_system_residency_us'
diff --git a/tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py b/tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py
index 2dea4032ac56..904df0ea0a1e 100755
--- a/tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py
+++ b/tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py
@@ -248,7 +248,7 @@ def signal_handler(signal, frame):
ipt.free_trace_buffer()
sys.exit(0)
-trace_file = "/sys/kernel/debug/tracing/events/amd_cpu/enable"
+trace_file = "/sys/kernel/tracing/events/amd_cpu/enable"
signal.signal(signal.SIGINT, signal_handler)
interval = ""
@@ -319,7 +319,7 @@ print(cur_version)
cleanup_data_files()
if interval:
- file_name = "/sys/kernel/debug/tracing/trace"
+ file_name = "/sys/kernel/tracing/trace"
ipt.clear_trace_file()
ipt.set_trace_buffer_size(memory)
ipt.enable_trace(trace_file)
diff --git a/tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py b/tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py
index b46e9eb8f5aa..ec3323100e1a 100755
--- a/tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py
+++ b/tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py
@@ -373,7 +373,7 @@ def clear_trace_file():
""" Clear trace file """
try:
- f_handle = open('/sys/kernel/debug/tracing/trace', 'w')
+ f_handle = open('/sys/kernel/tracing/trace', 'w')
f_handle.close()
except:
print('IO error clearing trace file ')
@@ -401,7 +401,7 @@ def set_trace_buffer_size(memory):
""" Set trace buffer size """
try:
- with open('/sys/kernel/debug/tracing/buffer_size_kb', 'w') as fp:
+ with open('/sys/kernel/tracing/buffer_size_kb', 'w') as fp:
fp.write(memory)
except:
print('IO error setting trace buffer size ')
@@ -411,7 +411,7 @@ def free_trace_buffer():
""" Free the trace buffer memory """
try:
- open('/sys/kernel/debug/tracing/buffer_size_kb'
+ open('/sys/kernel/tracing/buffer_size_kb'
, 'w').write("1")
except:
print('IO error freeing trace buffer ')
@@ -495,7 +495,7 @@ def signal_handler(signal, frame):
sys.exit(0)
if __name__ == "__main__":
- trace_file = "/sys/kernel/debug/tracing/events/power/pstate_sample/enable"
+ trace_file = "/sys/kernel/tracing/events/power/pstate_sample/enable"
signal.signal(signal.SIGINT, signal_handler)
interval = ""
@@ -569,7 +569,7 @@ if __name__ == "__main__":
cleanup_data_files()
if interval:
- filename = "/sys/kernel/debug/tracing/trace"
+ filename = "/sys/kernel/tracing/trace"
clear_trace_file()
set_trace_buffer_size(memory)
enable_trace(trace_file)
--
2.39.1.456.gfc5497dd1b-goog
On Mon, Jan 30, 2023 at 7:20 PM Ross Zwisler <zwisler@chromium.org> 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
>
> A few scripts in tools/power still refer to this older debugfs path, so
> let's update them to avoid confusion.
>
> Signed-off-by: Ross Zwisler <zwisler@google.com>
> ---
> tools/power/pm-graph/sleepgraph.py | 4 ++--
> tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py | 4 ++--
> .../x86/intel_pstate_tracer/intel_pstate_tracer.py | 10 +++++-----
> 3 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/tools/power/pm-graph/sleepgraph.py b/tools/power/pm-graph/sleepgraph.py
> index cfe343306e08..eddf8101ddf6 100755
> --- a/tools/power/pm-graph/sleepgraph.py
> +++ b/tools/power/pm-graph/sleepgraph.py
> @@ -120,9 +120,9 @@ class SystemValues:
> cgexp = False
> testdir = ''
> outdir = ''
> - tpath = '/sys/kernel/debug/tracing/'
> + tpath = '/sys/kernel/tracing/'
> fpdtpath = '/sys/firmware/acpi/tables/FPDT'
> - epath = '/sys/kernel/debug/tracing/events/power/'
> + epath = '/sys/kernel/tracing/events/power/'
> pmdpath = '/sys/power/pm_debug_messages'
> s0ixpath = '/sys/module/intel_pmc_core/parameters/warn_on_s0ix_failures'
> s0ixres = '/sys/devices/system/cpu/cpuidle/low_power_idle_system_residency_us'
> diff --git a/tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py b/tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py
> index 2dea4032ac56..904df0ea0a1e 100755
> --- a/tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py
> +++ b/tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py
> @@ -248,7 +248,7 @@ def signal_handler(signal, frame):
> ipt.free_trace_buffer()
> sys.exit(0)
>
> -trace_file = "/sys/kernel/debug/tracing/events/amd_cpu/enable"
> +trace_file = "/sys/kernel/tracing/events/amd_cpu/enable"
> signal.signal(signal.SIGINT, signal_handler)
>
> interval = ""
> @@ -319,7 +319,7 @@ print(cur_version)
> cleanup_data_files()
>
> if interval:
> - file_name = "/sys/kernel/debug/tracing/trace"
> + file_name = "/sys/kernel/tracing/trace"
> ipt.clear_trace_file()
> ipt.set_trace_buffer_size(memory)
> ipt.enable_trace(trace_file)
> diff --git a/tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py b/tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py
> index b46e9eb8f5aa..ec3323100e1a 100755
> --- a/tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py
> +++ b/tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py
> @@ -373,7 +373,7 @@ def clear_trace_file():
> """ Clear trace file """
>
> try:
> - f_handle = open('/sys/kernel/debug/tracing/trace', 'w')
> + f_handle = open('/sys/kernel/tracing/trace', 'w')
> f_handle.close()
> except:
> print('IO error clearing trace file ')
> @@ -401,7 +401,7 @@ def set_trace_buffer_size(memory):
> """ Set trace buffer size """
>
> try:
> - with open('/sys/kernel/debug/tracing/buffer_size_kb', 'w') as fp:
> + with open('/sys/kernel/tracing/buffer_size_kb', 'w') as fp:
> fp.write(memory)
> except:
> print('IO error setting trace buffer size ')
> @@ -411,7 +411,7 @@ def free_trace_buffer():
> """ Free the trace buffer memory """
>
> try:
> - open('/sys/kernel/debug/tracing/buffer_size_kb'
> + open('/sys/kernel/tracing/buffer_size_kb'
> , 'w').write("1")
> except:
> print('IO error freeing trace buffer ')
> @@ -495,7 +495,7 @@ def signal_handler(signal, frame):
> sys.exit(0)
>
> if __name__ == "__main__":
> - trace_file = "/sys/kernel/debug/tracing/events/power/pstate_sample/enable"
> + trace_file = "/sys/kernel/tracing/events/power/pstate_sample/enable"
> signal.signal(signal.SIGINT, signal_handler)
>
> interval = ""
> @@ -569,7 +569,7 @@ if __name__ == "__main__":
> cleanup_data_files()
>
> if interval:
> - filename = "/sys/kernel/debug/tracing/trace"
> + filename = "/sys/kernel/tracing/trace"
> clear_trace_file()
> set_trace_buffer_size(memory)
> enable_trace(trace_file)
> --
Applied as 6.3 material, thanks!
© 2016 - 2026 Red Hat, Inc.