Thread (24 messages) 24 messages, 8 authors, 2023-02-02

Re: [PATCH 3/9] selftests/bpf: use canonical ftrace path

flat view

From: Alexei Starovoitov <hidden>
Date: 2023-01-30 20:04:13
Also in: bpf, linux-kselftest, lkml

On Mon, Jan 30, 2023 at 11:59 AM Steven Rostedt [off-list ref] wrote:
On Mon, 30 Jan 2023 11:52:03 -0800
Alexei Starovoitov [off-list ref] wrote:
quoted
On Mon, Jan 30, 2023 at 10:19 AM Ross Zwisler [off-list ref] wrote:
quoted
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 tests in the bpf selftest code still refer to this older debugfs
path, so let's update them to avoid confusion.
I wish that was the case, but in reality there are still systems
out there where tracefs is only mounted in that old location.
For example in one my VMs:

$ cat /proc/mounts |grep tracefs
tracefs /sys/kernel/debug/tracing tracefs rw,relatime 0 0
$ ls /sys/kernel/tracing/
$ uname -r
6.2.0-rc5-01030-gc1a3daf7363b

So this change will break the tests. We cannot do it.
Could we add a way to try to mount it?

If anything, the tests should not have the path hard coded. It should then
look to see if it is mounted and use the path that is found. Otherwise it
should try mounting it at the correct location.

Feel free to take the code from libtracefs (and modify it):

https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/tree/src/tracefs-utils.c#n89

It will make the test code much more robust.
The point is not about tests. The point is that this change might break
some users that are working today with /sys/kernel/debug/tracing.
It also might be mounted differently.
For example from another system:
cat /proc/mounts|grep trace
tracefs /sys/kernel/tracing tracefs rw,nosuid,nodev,noexec,relatime 0 0
tracefs /sys/kernel/debug/tracing tracefs rw,relatime 0 0

So I suggest leaving the code as-is.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help