• Alexander Shishkin's avatar
    perf/core: Introduce address range filtering · 375637bc
    Alexander Shishkin authored
    Many instruction tracing PMUs out there support address range-based
    filtering, which would, for example, generate trace data only for a
    given range of instruction addresses, which is useful for tracing
    individual functions, modules or libraries. Other PMUs may also
    utilize this functionality to allow filtering to or filtering out
    code at certain address ranges.
    
    This patch introduces the interface for userspace to specify these
    filters and for the PMU drivers to apply these filters to hardware
    configuration.
    
    The user interface is an ASCII string that is passed via an ioctl()
    and specifies (in the form of an ASCII string) address ranges within
    certain object files or within kernel. There is no special treatment
    for kernel modules yet, but it might be a worthy pursuit.
    
    The PMU driver interface basically adds two extra callbacks to the
    PMU driver structure, one of which validates the filter configuration
    proposed by the user against what the hardware is actually capable of
    doing and the other one translates hardware-independent filter
    configuration into something that can be programmed into the
    hardware.
    Signed-off-by: default avatarAlexander Shishkin <alexander.shishkin@linux.intel.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Vince Weaver <vincent.weaver@maine.edu>
    Cc: vince@deater.net
    Link: http://lkml.kernel.org/r/1461771888-10409-6-git-send-email-alexander.shishkin@linux.intel.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    375637bc
core.c 243 KB