• Arnaldo Carvalho de Melo's avatar
    perf evlist: Make perf_evlist__set_filter use perf_evsel__set_filter · 94ad89bc
    Arnaldo Carvalho de Melo authored
    Instead of calling perf_evsel__apply_filter straight away, so that
    we can, in the next patches, expand the filter with more conditions
    before actually calling the ioctl to pass the end result filter to
    the kernel.
    
    Now we need to call perf_evlist__apply_filters() after the filter
    is completely setup, i.e. do the ioctl calls.
    
    The perf_evlist__apply_filters() method was already in place, because
    that is the model for the other tools that receives filters in the
    command line: go on setting then in the evsel->filter and only at
    the end, after parsing the whole command line, apply them.
    
    We get, as a bonus, a more expressive message that states which
    event, if any, failed to have the filter applied to, with an
    error message stating what happened.
    
    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: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/n/tip-f429pgz75ryz7tpe6v74etre@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    94ad89bc
evlist.c 38.5 KB