trace-cmd reset: Add option to preserve specific dynamic events
One may want to preserve some of the dynamic events (e.g., kprobes)
during a trace-cmd reset. Thus, provide -k command line option for
trace-cmd reset to allow keeping specified events untouched during the
reset operation.
For example, it's possible to prevent kprobes & kretprobes from being
destroyed in trace-cmd reset with this patch:
# Add kprobe and kretprobe for sys_open():
$ echo 'p do_sys_open' > /sys/kernel/tracing/kprobe_events
$ echo 1 > /sys/kernel/tracing/events/kprobes/p_do_sys_open_0/enable
$ echo 'r do_sys_open' >> /sys/kernel/tracing/kprobe_events
$ echo 1 > /sys/kernel/tracing/events/kprobes/r_do_sys_open_0/enable
$ cat /sys/kernel/tracing/kprobe_events
p:kprobes/p_do_sys_open_0 do_sys_open
r128:kprobes/r_do_sys_open_0 do_sys_open
# Issue reset, but keep kprobes and kretprobes ('-k all' would keep
# all existing dynamic events):
$ trace-cmd reset -k kprobe -k kretprobe
$ cat /sys/kernel/tracing/kprobe_events
p:kprobes/p_do_sys_open_0 do_sys_open
r128:kprobes/r_do_sys_open_0 do_sys_open
# Issue reset, but this time only keep kretprobes:
$ trace-cmd reset -k kretprobe
$ cat /sys/kernel/tracing/kprobe_events
r128:kprobes/r_do_sys_open_0 do_sys_open
# Don't preserve any dynamic event:
$ trace-cmd reset
$ cat /sys/kernel/tracing/kprobe_events
$
Link: https://lore.kernel.org/20241014123136.3890807-3-metin.kaya@arm.com
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=219302
Signed-off-by: Metin Kaya <metin.kaya@arm.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
2 files changed