mbox series

[0/3] tracing: Remove eventfs_files by use of callbacks

Message ID 20230913025855.615399273@goodmis.org (mailing list archive)
Headers show
Series tracing: Remove eventfs_files by use of callbacks | expand

Message

Steven Rostedt Sept. 13, 2023, 2:58 a.m. UTC
The first patch adds a file to tracefs that shows all the event_files
that have been allocated for the dynamic eventfs file system. It also
shows the dentries that were created and their current ref counts. This
is useful for debugging and knowing when a dentry has been created and
freed.

I was suppose to add the first patch to this merge window. As it
is an aid for debugging, I may push it still in my next pull request.

The second patch 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 third patch fixes the kprobe selftests yet again, and the function
that it uses to attach to was renamed once again.

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

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

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

----
 fs/tracefs/Makefile                                |   1 +
 fs/tracefs/event_inode.c                           | 809 ++++++++++-----------
 fs/tracefs/event_show.c                            | 125 ++++
 fs/tracefs/inode.c                                 |   2 +-
 fs/tracefs/internal.h                              |  40 +-
 include/linux/trace_events.h                       |   2 +-
 include/linux/tracefs.h                            |  31 +-
 kernel/trace/trace.c                               |   7 +-
 kernel/trace/trace.h                               |   4 +-
 kernel/trace/trace_events.c                        | 314 +++++---
 .../ftrace/test.d/kprobe/kprobe_args_char.tc       |   4 +-
 .../ftrace/test.d/kprobe/kprobe_args_string.tc     |   4 +-
 12 files changed, 812 insertions(+), 531 deletions(-)
 create mode 100644 fs/tracefs/event_show.c