On Tue, 15 Oct 2024 14:30:58 +0100 Metin Kaya <metin.kaya@xxxxxxx> wrote: > On 14/10/2024 10:59 pm, Steven Rostedt wrote: > > On Mon, 14 Oct 2024 13:31:32 +0100 > > Metin Kaya <metin.kaya@xxxxxxx> wrote: > > > >> Changes since v1: > >> - Update man page for -k command line parameter of "trace-cmd reset". > >> - Add tab completion support for "trace-cmd reset". > > > > Thanks, I'll go ahead and apply this. But can you do me a favor, and add a > > test case to utest/tracecmd-utest.c that tests this. It should create a > > each of the types, start tracing, do the reset, and make sure that the -k > > keeps what is expected. Doesn't need to be too fancy. > > I wrote the patch below, but noticed I'm unable to preserve uprobes > during reset. I verified trace-cmd tries to prevent > TRACEFS_DYNEVENT_UPROBE from being destroyed, but I cannot see them > after running "trace-cmd reset -k uprobe" command. > The same problem exists for uretprobe, too. > I confirmed utest uses correct trace-cmd executable. > > Any ideas? Ug, that's because uprobes are defined in dynamic_events with a "p:", just like kprobes. :-p And the tracefs dynamic event parser flags uprobes as kprobes. Thus, if we are deleting kprobes, we will delete uprobes too. I need to fix that. We can't change the kernel as it's ABI unfortunately, but there's other ways libtracefs can differentiate the two. -- Steve