• Frederic Weisbecker's avatar
    perf tools: Add support for breakpoint events in perf tools · 1b290d67
    Frederic Weisbecker authored
    Add the breakpoint events support with this new sysnopsis:
    
      mem:addr[:access]
    
    Where addr is a raw addr value in the kernel and access can be
    either [r][w][x]
    
    Example to profile tasklist_lock:
    
    	$ grep tasklist_lock /proc/kallsyms
    	ffffffff8189c000 D tasklist_lock
    
    	$ perf record -e mem:0xffffffff8189c000:rw -a -f -c 1
    	$ perf report
    
    	# Samples: 62
    	#
    	# Overhead          Command  Shared Object  Symbol
    	# ........  ...............  .............  ......
    	#
    	    29.03%          swapper  [kernel]       [k] _raw_read_trylock
    	    29.03%          swapper  [kernel]       [k] _raw_read_unlock
    	    19.35%             init  [kernel]       [k] _raw_read_trylock
    	    19.35%             init  [kernel]       [k] _raw_read_unlock
    	     1.61%         events/0  [kernel]       [k] _raw_read_trylock
    	     1.61%         events/0  [kernel]       [k] _raw_read_unlock
    
    Coming soon:
    
     - Support for symbols in the event definition.
    
     - Default period to 1 for breakpoint events because these are
       not high frequency events. The same thing is needed for trace
       events.
    Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Prasad <prasad@linux.vnet.ibm.com>
    LKML-Reference: <1258987355-8751-4-git-send-email-fweisbec@gmail.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Prasad <prasad@linux.vnet.ibm.com>
    1b290d67
parse-events.c 20.6 KB