On Thu, 28 Sep 2017 13:11:40 +0200 Jan Kiszka <jan.kis...@siemens.com> wrote:
> From: Jan Kiszka <jan.kis...@siemens.com> > > If filter_mod is NULL, there is no need to add it to the list. This > avoids premature termination of trace-cmd on systems without > CONFIG_DYNAMIC_FTRACE. Thanks, and it also fixes setting all functions needlessly being set in the filter. # trace-cmd record -p function cat /sys/kernel/tracing/set_ftrace_filter | head plugin 'function' initcall_blacklisted run_init_process try_to_run_init_process do_one_initcall rootfs_mount name_to_dev_t match_dev_by_uuid init_linuxrc bstat calibration_delay_done CPU0 data recorded at offset=0x446000 1515520 bytes in size CPU1 data recorded at offset=0x5b8000 1540096 bytes in size CPU2 data recorded at offset=0x730000 1527808 bytes in size CPU3 data recorded at offset=0x8a5000 1540096 bytes in size When it should be: # trace-cmd record -p function cat /debug/tracing/set_ftrace_filter |head plugin 'function' #### all functions enabled #### CPU0 data recorded at offset=0x446000 1605632 bytes in size CPU1 data recorded at offset=0x5ce000 1478656 bytes in size CPU2 data recorded at offset=0x737000 1601536 bytes in size CPU3 data recorded at offset=0x8be000 1576960 bytes in size CPU 0: 8600 events lost CPU 1: 5705 events lost CPU 2: 920 events lost CPU 3: 2225 events lost -- Steve > > Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> > --- > trace-record.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/trace-record.c b/trace-record.c > index 020a373..a0b6541 100644 > --- a/trace-record.c > +++ b/trace-record.c > @@ -4680,7 +4680,7 @@ void trace_record (int argc, char **argv) > } > } > > - if (!filtered) > + if (!filtered && instance->filter_mod) > add_func(&instance->filter_funcs, > instance->filter_mod, "*"); >