All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 0/5] support '%pd' and '%pD' for print file name
@ 2024-03-20 13:29 Ye Bin
  2024-03-20 13:29 ` [PATCH v7 1/5] tracing/probes: support '%pd' type for print struct dentry's name Ye Bin
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Ye Bin @ 2024-03-20 13:29 UTC (permalink / raw)
  To: rostedt, mhiramat, mathieu.desnoyers, linux-trace-kernel
  Cc: linux-kernel, yebin10

During fault locating, the file name needs to be printed based on the
dentry/file address. The offset needs to be calculated each time, which
is troublesome. Similar to printk, kprobe supports printing file names
for dentry/file addresses.

Diff v7 vs v6:
1. Squash [1/8] to [3/8] patches into 1 patch;
2. Split readme_msg[] into each patch;

Diff v6 vs v5:
1. Add const for 'bufsize' in PATCH [1];
2. Move PATCH 'tracing/probes: support '%pd/%pD' type for fprobe' after
PATCH "tracing/probes: support '%pd' type for print struct dentry's name".
3. Add requires '"%pd/%pD":README' for testcase.

Diff v5 vs v4:
1. Use glob_match() instead of str_has_suffix(), so remove the first patch;
2. Allocate buffer from heap for expand dentry;
3. Support "%pd/%pD" print type for fprobe;
4. Use $arg1 instead of origin register in test case;
5. Add test case for fprobe;

Diff v4 vs v3:
1. Use "argv[i][idx + 3] == 'd'" instead of "argv[i][strlen(argv[i]) - 1] == 'd'"
to judge print format in PATCH[4/7];

Diff v3 vs v2:
1. Return the index of where the suffix was found in str_has_suffix();

Diff v2 vs v1:
1. Use "%pd/%pD" print format instead of "pd/pD" print format;
2. Add "%pd/%pD" in README;
3. Expand "%pd/%pD" argument before parameter parsing;
4. Add more detail information in ftrace documentation;
5. Add test cases for new print format in selftests/ftrace;


Ye Bin (5):
  tracing/probes: support '%pd' type for print struct dentry's name
  tracing/probes: support '%pD' type for print struct file's name
  Documentation: tracing: add new type '%pd' and '%pD' for kprobe
  selftests/ftrace: add kprobe test cases for VFS type "%pd" and "%pD"
  selftests/ftrace: add fprobe test cases for VFS type "%pd" and "%pD"

 Documentation/trace/kprobetrace.rst           |  8 ++-
 kernel/trace/trace.c                          |  2 +-
 kernel/trace/trace_fprobe.c                   |  6 ++
 kernel/trace/trace_kprobe.c                   |  6 ++
 kernel/trace/trace_probe.c                    | 63 +++++++++++++++++++
 kernel/trace/trace_probe.h                    |  2 +
 .../ftrace/test.d/dynevent/fprobe_args_vfs.tc | 40 ++++++++++++
 .../ftrace/test.d/kprobe/kprobe_args_vfs.tc   | 40 ++++++++++++
 8 files changed, 164 insertions(+), 3 deletions(-)
 create mode 100644 tools/testing/selftests/ftrace/test.d/dynevent/fprobe_args_vfs.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_vfs.tc

-- 
2.31.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-03-21 15:46 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-20 13:29 [PATCH v7 0/5] support '%pd' and '%pD' for print file name Ye Bin
2024-03-20 13:29 ` [PATCH v7 1/5] tracing/probes: support '%pd' type for print struct dentry's name Ye Bin
2024-03-21 14:15   ` Steven Rostedt
2024-03-21 15:07     ` Masami Hiramatsu
2024-03-21 15:28       ` Masami Hiramatsu
2024-03-21 15:48         ` Steven Rostedt
2024-03-21 15:46       ` Steven Rostedt
2024-03-20 13:29 ` [PATCH v7 2/5] tracing/probes: support '%pD' type for print struct file's name Ye Bin
2024-03-20 13:29 ` [PATCH v7 3/5] Documentation: tracing: add new type '%pd' and '%pD' for kprobe Ye Bin
2024-03-20 13:29 ` [PATCH v7 4/5] selftests/ftrace: add kprobe test cases for VFS type "%pd" and "%pD" Ye Bin
2024-03-20 13:29 ` [PATCH v7 5/5] selftests/ftrace: add fprobe " Ye Bin
2024-03-21 14:01 ` [PATCH v7 0/5] support '%pd' and '%pD' for print file name Masami Hiramatsu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.