• Arnaldo Carvalho de Melo's avatar
    perf trace: Enable events when doing system wide tracing and starting a workload · cb24d01d
    Arnaldo Carvalho de Melo authored
     commit f7aa222f
     Author: Arnaldo Carvalho de Melo <acme@redhat.com>
     Date:   Tue Feb 3 13:25:39 2015 -0300
    
        perf trace: No need to enable evsels for workload started from perf
    
    The assumption was that whenever a workload is specified, the
    attr.enable_on_exec evsel flag would be set, but that is not happening
    when perf_record_opts.system_wide is set, for instance
    
    That resulted in both perf_evlist__enable() and attr.enable_on_exec
    being not called/set, which made the events to remain disabled while the
    workload runs, producing no output.
    
    Fix it,  by calling perf_evlist__enable() in the 'trace' tool
    when forking and not targetting a workload started from trace
    
    v2: Test against !target__none(), as suggested by Namhyung Kim, that is
    what is used in perf_evsel__config() when deciding if the
    attr.enable_on_exec flag to be set. More work is needed to cover other
    cases such as opts->initial_delay.
    Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Don Zickus <dzickus@redhat.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/n/tip-27z7169pvfxgj8upic636syv@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    cb24d01d
builtin-trace.c 74.3 KB