• Stephane Eranian's avatar
    perf record: Add ability to name registers to record · bcc84ec6
    Stephane Eranian authored
    This patch modifies the -I/--int-regs option to enablepassing the name
    of the registers to sample on interrupt. Registers can be specified by
    their symbolic names. For instance on x86, --intr-regs=ax,si.
    
    The motivation is to reduce the size of the perf.data file and the
    overhead of sampling by only collecting the registers useful to a
    specific analysis. For instance, for value profiling, sampling only the
    registers used to passed arguements to functions.
    
    With no parameter, the --intr-regs still records all possible registers
    based on the architecture.
    
    To name registers, it is necessary to use the long form of the option,
    i.e., --intr-regs:
    
      $ perf record --intr-regs=si,di,r8,r9 .....
    
    To record any possible registers:
    
      $ perf record -I .....
      $ perf report --intr-regs ...
    
    To display the register, one can use perf report -D
    
    To list the available registers:
    
      $ perf record --intr-regs=\?
      available registers: AX BX CX DX SI DI BP SP IP FLAGS CS SS R8 R9 R10 R11 R12 R13 R14 R15
    Signed-off-by: default avatarStephane Eranian <eranian@google.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Kan Liang <kan.liang@intel.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/1441039273-16260-4-git-send-email-eranian@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    bcc84ec6
evsel.c 55.9 KB