Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
perf_event.c File Reference
#include <linux/perf_event.h>
#include <linux/kprobes.h>
#include <linux/ftrace.h>
#include <linux/kernel.h>
#include <linux/kdebug.h>
#include <linux/mutex.h>
#include <asm/stacktrace.h>
#include <asm/cpudata.h>
#include <asm/uaccess.h>
#include <linux/atomic.h>
#include <asm/nmi.h>
#include <asm/pcr.h>
#include <asm/cacheflush.h>
#include "kernel.h"
#include "kstack.h"

Go to the source code of this file.

Data Structures

struct  cpu_hw_events
 
struct  perf_event_map
 
struct  sparc_pmu
 

Macros

#define MAX_HWEVENTS   4
 
#define MAX_PCRS   4
 
#define MAX_PERIOD   ((1UL << 32) - 1)
 
#define PIC_UPPER_INDEX   0
 
#define PIC_LOWER_INDEX   1
 
#define PIC_NO_INDEX   -1
 
#define PIC_NONE   0x00
 
#define PIC_UPPER   0x01
 
#define PIC_LOWER   0x02
 
#define C(x)   PERF_COUNT_HW_CACHE_##x
 
#define CACHE_OP_UNSUPPORTED   0xfffe
 
#define CACHE_OP_NONSENSE   0xffff
 
#define SPARC_PMU_ALL_EXCLUDES_SAME   0x00000001
 
#define SPARC_PMU_HAS_CONFLICTS   0x00000002
 

Typedefs

typedef struct perf_event_map cache_map_t [PERF_COUNT_HW_CACHE_MAX][PERF_COUNT_HW_CACHE_OP_MAX][PERF_COUNT_HW_CACHE_RESULT_MAX]
 

Functions

 DEFINE_PER_CPU (struct cpu_hw_events, cpu_hw_events)
 
void perf_event_grab_pmc (void)
 
void perf_event_release_pmc (void)
 
void perf_event_print_debug (void)
 
int __init init_hw_perf_events (void)
 
 early_initcall (init_hw_perf_events)
 
void perf_callchain_kernel (struct perf_callchain_entry *entry, struct pt_regs *regs)
 
void perf_callchain_user (struct perf_callchain_entry *entry, struct pt_regs *regs)
 

Macro Definition Documentation

#define C (   x)    PERF_COUNT_HW_CACHE_##x

Definition at line 145 of file perf_event.c.

#define CACHE_OP_NONSENSE   0xffff

Definition at line 148 of file perf_event.c.

#define CACHE_OP_UNSUPPORTED   0xfffe

Definition at line 147 of file perf_event.c.

#define MAX_HWEVENTS   4

Definition at line 68 of file perf_event.c.

#define MAX_PCRS   4

Definition at line 69 of file perf_event.c.

#define MAX_PERIOD   ((1UL << 32) - 1)

Definition at line 70 of file perf_event.c.

#define PIC_LOWER   0x02

Definition at line 126 of file perf_event.c.

#define PIC_LOWER_INDEX   1

Definition at line 73 of file perf_event.c.

#define PIC_NO_INDEX   -1

Definition at line 74 of file perf_event.c.

#define PIC_NONE   0x00

Definition at line 124 of file perf_event.c.

#define PIC_UPPER   0x01

Definition at line 125 of file perf_event.c.

#define PIC_UPPER_INDEX   0

Definition at line 72 of file perf_event.c.

#define SPARC_PMU_ALL_EXCLUDES_SAME   0x00000001

Definition at line 171 of file perf_event.c.

#define SPARC_PMU_HAS_CONFLICTS   0x00000002

Definition at line 172 of file perf_event.c.

Typedef Documentation

Definition at line 150 of file perf_event.c.

Function Documentation

DEFINE_PER_CPU ( struct cpu_hw_events  ,
cpu_hw_events   
)
early_initcall ( init_hw_perf_events  )
int __init init_hw_perf_events ( void  )

Definition at line 1672 of file perf_event.c.

void perf_callchain_kernel ( struct perf_callchain_entry entry,
struct pt_regs regs 
)

Definition at line 1690 of file perf_event.c.

void perf_callchain_user ( struct perf_callchain_entry entry,
struct pt_regs regs 
)

Definition at line 1789 of file perf_event.c.

void perf_event_grab_pmc ( void  )

Definition at line 1156 of file perf_event.c.

void perf_event_print_debug ( void  )

Definition at line 1559 of file perf_event.c.

void perf_event_release_pmc ( void  )

Definition at line 1172 of file perf_event.c.