Re: [PATCH 0/3] tracing: Fix some selftest issues
From: Google
Date: Fri May 31 2024 - 10:20:59 EST
On Fri, 31 May 2024 03:24:25 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> On Fri, 31 May 2024 11:37:21 +0900
> Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx> wrote:
>
> > So, in summary, it is designed to be a module. Steve, I think these tests
> > should be kept as modules. There are many reason to do so.
> >
> > - This test is designed to be used as module.
> > - This can conflict with other boot time selftest if it is embedded.
> > - We can make these tests and boot time selftest mutable exclusive but
> > if we make these tests as modules, we can build and run both tests
> > safely.
> > - Embedding these tests leave new events when the kernel boot, which
> > user must be cleaned up by manual.
> >
> > What would you think?
>
> I was mostly following what Ingo told me long ago, where having it
> built in is just one more way to test it ;-)
Ah, would you mean embedding the module is also a part of tests?
>
> But that said, from your first patch, you show the stack dump and
> mention:
>
> > Since the kprobes and synth event generation tests adds and enable
> > generated events in init_module() and delete it in exit_module(),
> > if we make it as built-in, those events are left in kernel and cause
> > kprobe event self-test failure.
>
> But you don't explain what exactly the conflict is. What about those
> events causes kprobe selftests to fail?
The major conflict happens when the boot-time test cleans up the kprobe
events by
dyn_events_release_all(&trace_kprobe_ops);
And I removed it by [3/3] patch in this series :) because it does not
needed and not confirmed there is no other kprobe events when the test
starts. Also the warning message are redundant so I removed it by [2/3].
So without this [1/3], if we apply [2/3] and [3/3], the problem will be
mitigated, but I think the root cause is that these modules are built-in.
Thank you,
>
>
> -- Steve
--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>