tools/virtio: use canonical ftrace path

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 spots in tools/virtio still refer to this older debugfs
path, so let's update them to avoid confusion.

Signed-off-by: Ross Zwisler <zwisler@google.com>
Message-Id: <20230215223350.2658616-6-zwisler@google.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Mukesh Ojha <quic_mojha@quicinc.com>
This commit is contained in:
Ross Zwisler 2023-02-15 15:33:49 -07:00 committed by Michael S. Tsirkin
parent beee7fdb5b
commit 07496eeab5
2 changed files with 9 additions and 5 deletions

View file

@ -95,7 +95,7 @@ Run
1) Enable ftrace in the guest 1) Enable ftrace in the guest
<Example> <Example>
# echo 1 > /sys/kernel/debug/tracing/events/sched/enable # echo 1 > /sys/kernel/tracing/events/sched/enable
2) Run trace agent in the guest 2) Run trace agent in the guest
This agent must be operated as root. This agent must be operated as root.

View file

@ -18,8 +18,9 @@
#define PIPE_DEF_BUFS 16 #define PIPE_DEF_BUFS 16
#define PIPE_MIN_SIZE (PAGE_SIZE*PIPE_DEF_BUFS) #define PIPE_MIN_SIZE (PAGE_SIZE*PIPE_DEF_BUFS)
#define PIPE_MAX_SIZE (1024*1024) #define PIPE_MAX_SIZE (1024*1024)
#define READ_PATH_FMT \ #define TRACEFS "/sys/kernel/tracing"
"/sys/kernel/debug/tracing/per_cpu/cpu%d/trace_pipe_raw" #define DEBUGFS "/sys/kernel/debug/tracing"
#define READ_PATH_FMT "%s/per_cpu/cpu%d/trace_pipe_raw"
#define WRITE_PATH_FMT "/dev/virtio-ports/trace-path-cpu%d" #define WRITE_PATH_FMT "/dev/virtio-ports/trace-path-cpu%d"
#define CTL_PATH "/dev/virtio-ports/agent-ctl-path" #define CTL_PATH "/dev/virtio-ports/agent-ctl-path"
@ -120,9 +121,12 @@ static const char *make_path(int cpu_num, bool this_is_write_path)
if (this_is_write_path) if (this_is_write_path)
/* write(output) path */ /* write(output) path */
ret = snprintf(buf, PATH_MAX, WRITE_PATH_FMT, cpu_num); ret = snprintf(buf, PATH_MAX, WRITE_PATH_FMT, cpu_num);
else else {
/* read(input) path */ /* read(input) path */
ret = snprintf(buf, PATH_MAX, READ_PATH_FMT, cpu_num); ret = snprintf(buf, PATH_MAX, READ_PATH_FMT, TRACEFS, cpu_num);
if (ret > 0 && access(buf, F_OK) != 0)
ret = snprintf(buf, PATH_MAX, READ_PATH_FMT, DEBUGFS, cpu_num);
}
if (ret <= 0) { if (ret <= 0) {
pr_err("Failed to generate %s path(CPU#%d):%d\n", pr_err("Failed to generate %s path(CPU#%d):%d\n",