On Mon, Nov 29, 2021 at 12:07:40PM +0100, Daniel Bristot de Oliveira wrote: > +/* > + * enable_tracer_by_name - enable a tracer on the given instance > + */ > +int enable_tracer_by_name(struct tracefs_instance *inst, const char *tracer) > +{ > + enum tracefs_tracers t; > + int retval; > + > + t = TRACEFS_TRACER_CUSTOM; > + > + debug_msg("enabling %s tracer\n", tracer); > + > + retval = tracefs_tracer_set(inst, t, tracer); The comment of parameters used for tracefs_tracer_set() says: ' * tracefs_set_tracer - function to set the tracer * @instance: ftrace instance, can be NULL for top tracing instance * @tracer: The tracer enum that defines the tracer to be set * @t: A tracer name if TRACEFS_TRACER_CUSTOM is passed in for @tracer ' tracefs_tracer_set(inst, tracer, t); @tracer is enum and @t is tracer name. this is not important. > + if (retval < 0) { > + if (errno == ENODEV) > + err_msg("tracer %s not found!\n", tracer); > + > + err_msg("failed to enable the tracer %s\n", tracer); > + return -1; > + } > + > + return 0; > +}