Re: [PATCH] tracing: Allow creating instances with specified system events

From: Google
Date: Thu Nov 30 2023 - 09:59:11 EST


On Wed, 29 Nov 2023 10:25:45 -0500
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Wed, 29 Nov 2023 23:58:21 +0900
> Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx> wrote:
>
> > > - Dynamic events had to be specified directly to still allow them to be
> > > created.
> >
> > I have a question about this point. Does this mean the dynamic event files
> > will be created in the instance which limits the "system"?
> > For this point, I would like to allow limiting dynamic events on instance too.
> > If user needs to use specific one, e.g. synthetic, then it is possible to
> > add it to the filter.
>
> I'm going back and forth on this. Here's my thoughts about it.
>
> Arguments for allowing all dynamic events:
>
> 1. There's not many. This code is basically a way to keep the overhead of
> an instance down. By removing all static events, it can substantially lower
> the memory footprint.
>
> As synthetic events are user created, there shouldn't be too many that
> would cause a memory foot print issue, and the user also has a bit of
> control of what events are created.

Sometimes synthetic event user != instance user. (Only the privileged user
will do, but maybe done by different program.)

> 2. We have no idea what a user may want to do with those events. What if
> the user wants to see an event in that buffer and creates a synthetic
> event for it? Should the kernel create a policy for that?

I think it is enough to give a choice to user. User can enable events
under synthetic, probes, etc. by mkdir later. IIUC, current implementation
forcibly exposes all dynamic events.

>
> Arguments against defaulting dynamic events in:
>
> 1. The list is created in the kernel. The instance is not created by the
> user and thus the kernel could have more control over it.
>
> 2. If the user really wants to have dynamic events, they can create another
> instance with the needed events or use the top level.
>
> Hmm, writing this out, I am now leaning more toward not defaulting dynamic
> events in. And if we can create a way to dynamically add and remove events
> systems from an instance (via mkdir and rmdir), this should not be an issue.

Yeah, that's my point. If we allow all dynamic events, it needs to change the
default behavior later. That will not be consistent.

Thank you,

>
> Anyone else have any thoughts about this?
>
> -- Steve


--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>