• Roberto Agostino Vitillo's avatar
    perf record: Add support for sampling taken branch · bdfebd84
    Roberto Agostino Vitillo authored
    This patch adds a new option to enable taken branch stack
    sampling, i.e., leverage the PERF_SAMPLE_BRANCH_STACK feature
    of perf_events.
    
    There is a new option to active this mode: -b.
    It is possible to pass a set of filters to select the type of
    branches to sample.
    
    The following filters are available:
    
     - any : any type of branches
     - any_call : any function call or system call
     - any_ret : any function return or system call return
     - any_ind : any indirect branch
     - u:  only when the branch target is at the user level
     - k: only when the branch target is in the kernel
     - hv: only when the branch target is in the hypervisor
    
    Filters can be combined by passing a comma separated list
    to the option:
    
    $ perf record -b any_call,u -e cycles:u branchy
    Signed-off-by: default avatarRoberto Agostino Vitillo <ravitillo@lbl.gov>
    Signed-off-by: default avatarStephane Eranian <eranian@google.com>
    Cc: peterz@infradead.org
    Cc: acme@redhat.com
    Cc: robert.richter@amd.com
    Cc: ming.m.lin@intel.com
    Cc: andi@firstfloor.org
    Cc: asharma@fb.com
    Cc: vweaver1@eecs.utk.edu
    Cc: khandual@linux.vnet.ibm.com
    Cc: dsahern@gmail.com
    Link: http://lkml.kernel.org/r/1328826068-11713-13-git-send-email-eranian@google.comSigned-off-by: default avatarIngo Molnar <mingo@elte.hu>
    bdfebd84
builtin-record.c 24.5 KB