[PATCH 0/2 v3] tracing: Remove eventfs_files by use of callbacks

From: Steven Rostedt
Date: Thu Sep 14 2023 - 12:35:16 EST



This is a bit of a redesign of the way the eventfs is created. It no longer
creates a descriptor representing every file but instead just the directories.
These descriptors get an array of entries that represent the files within it
(but not for sub directories). Each entry has a name and a callback, where the
name is the name of the file (used for lookup) and a callback that is used to
create the dentry and inode for the file. This saves more memory, this approach
may be possible to create a dynamic way of doing this for other pseudo file
systems.

The second patch fixes the kprobe selftests yet again, and the function
that it uses to attach to was renamed once again.

Changes since v2: https://lore.kernel.org/all/20230913025855.615399273@xxxxxxxxxxx/

- Removed the show_eventfs_dentries patch and queued that for mainline.

- Rebased on top of the queued mainline tree, as the show_eventfs_dentries
patch was modified.

- Updated the numbers in the change log to reflect the latest code.
(Things actually got better!)


Changes since v1: https://lore.kernel.org/all/20230801001349.520930329@xxxxxxxxxxx/

- Rebased on mainline and some minor clean ups.
- Fixed kprobe selftest

Steven Rostedt (Google) (2):
eventfs: Remove eventfs_file and just use eventfs_inode
tracing/selftests: Update kprobe args char/string to match new functions

----
fs/tracefs/event_inode.c | 763 +++++++++++----------
fs/tracefs/event_show.c | 51 +-
fs/tracefs/inode.c | 2 +-
fs/tracefs/internal.h | 54 +-
include/linux/trace_events.h | 2 +-
include/linux/tracefs.h | 29 +-
kernel/trace/trace.c | 7 +-
kernel/trace/trace.h | 4 +-
kernel/trace/trace_events.c | 315 ++++++---
.../ftrace/test.d/kprobe/kprobe_args_char.tc | 4 +-
.../ftrace/test.d/kprobe/kprobe_args_string.tc | 4 +-
11 files changed, 691 insertions(+), 544 deletions(-)