Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
internal.h File Reference
#include <linux/hardirq.h>
#include <linux/uaccess.h>

Go to the source code of this file.

Data Structures

struct  ring_buffer
 

Macros

#define RING_BUFFER_WRITABLE   0x01
 
#define DEFINE_OUTPUT_COPY(func_name, memcpy_func)
 
#define MEMCPY_SKIP(dst, src, n)   (n)
 
#define arch_perf_out_copy_user   __copy_from_user_inatomic
 
#define perf_user_stack_pointer(regs)   0
 

Functions

void rb_free (struct ring_buffer *rb)
 
struct ring_bufferrb_alloc (int nr_pages, long watermark, int cpu, int flags)
 
void perf_event_wakeup (struct perf_event *event)
 
void perf_event_header__init_id (struct perf_event_header *header, struct perf_sample_data *data, struct perf_event *event)
 
void perf_event__output_id_sample (struct perf_event *event, struct perf_output_handle *handle, struct perf_sample_data *sample)
 
struct pageperf_mmap_to_page (struct ring_buffer *rb, unsigned long pgoff)
 
struct perf_callchain_entryperf_callchain (struct perf_event *event, struct pt_regs *regs)
 
int get_callchain_buffers (void)
 
void put_callchain_buffers (void)
 

Macro Definition Documentation

#define arch_perf_out_copy_user   __copy_from_user_inatomic

Definition at line 122 of file internal.h.

#define DEFINE_OUTPUT_COPY (   func_name,
  memcpy_func 
)
Value:
static inline unsigned int \
func_name(struct perf_output_handle *handle, \
const void *buf, unsigned int len) \
{ \
unsigned long size, written; \
\
do { \
size = min_t(unsigned long, handle->size, len); \
\
written = memcpy_func(handle->addr, buf, size); \
\
len -= written; \
handle->addr += written; \
buf += written; \
handle->size -= written; \
if (!handle->size) { \
\
handle->page++; \
handle->page &= rb->nr_pages - 1; \
handle->addr = rb->data_pages[handle->page]; \
handle->size = PAGE_SIZE << page_order(rb); \
} \
} while (len && written == size); \
\
return len; \
}

Definition at line 80 of file internal.h.

#define MEMCPY_SKIP (   dst,
  src,
  n 
)    (n)

Definition at line 117 of file internal.h.

#define perf_user_stack_pointer (   regs)    0

Definition at line 174 of file internal.h.

#define RING_BUFFER_WRITABLE   0x01

Definition at line 9 of file internal.h.

Function Documentation

int get_callchain_buffers ( void  )

Definition at line 97 of file callchain.c.

struct perf_callchain_entry* perf_callchain ( struct perf_event event,
struct pt_regs regs 
)
read

Definition at line 157 of file callchain.c.

void perf_event__output_id_sample ( struct perf_event event,
struct perf_output_handle handle,
struct perf_sample_data *  sample 
)

Definition at line 3949 of file core.c.

void perf_event_header__init_id ( struct perf_event_header header,
struct perf_sample_data *  data,
struct perf_event event 
)

Definition at line 3920 of file core.c.

void perf_event_wakeup ( struct perf_event event)

Definition at line 3717 of file core.c.

struct page* perf_mmap_to_page ( struct ring_buffer rb,
unsigned long  pgoff 
)
read

Definition at line 230 of file ring_buffer.c.

void put_callchain_buffers ( void  )

Definition at line 124 of file callchain.c.

struct ring_buffer* rb_alloc ( int  nr_pages,
long  watermark,
int  cpu,
int  flags 
)
read

Definition at line 254 of file ring_buffer.c.

void rb_free ( struct ring_buffer rb)

Definition at line 304 of file ring_buffer.c.