• Arjan van de Ven's avatar
    perf/core: Provide a kernel-internal interface to get to performance counters · fb0459d7
    Arjan van de Ven authored
    There are reasons for kernel code to ask for, and use, performance
    counters.
    For example, in CPU freq governors this tends to be a good idea, but
    there are other examples possible as well of course.
    
    This patch adds the needed bits to do enable this functionality; they
    have been tested in an experimental cpufreq driver that I'm working on,
    and the changes are all that I needed to access counters properly.
    
    [fweisbec@gmail.com: added pid to perf_event_create_kernel_counter so
    that we can profile a particular task too
    
    TODO: Have a better error reporting, don't just return NULL in fail
    case.]
    
    v2: Remove the wrong comment about the fact
        perf_event_create_kernel_counter must be called from a kernel
        thread.
    Signed-off-by: default avatarArjan van de Ven <arjan@linux.intel.com>
    Acked-by: default avatarPeter Zijlstra <peterz@infradead.org>
    Cc: "K.Prasad" <prasad@linux.vnet.ibm.com>
    Cc: Alan Stern <stern@rowland.harvard.edu>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Jan Kiszka <jan.kiszka@siemens.com>
    Cc: Jiri Slaby <jirislaby@gmail.com>
    Cc: Li Zefan <lizf@cn.fujitsu.com>
    Cc: Avi Kivity <avi@redhat.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Masami Hiramatsu <mhiramat@redhat.com>
    Cc: Paul Mundt <lethal@linux-sh.org>
    Cc: Jan Kiszka <jan.kiszka@web.de>
    Cc: Avi Kivity <avi@redhat.com>
    LKML-Reference: <20090925122556.2f8bd939@infradead.org>
    Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    fb0459d7
perf_event.c 119 KB