diff options
Diffstat (limited to 'drivers/oprofile/event_buffer.h')
| -rw-r--r-- | drivers/oprofile/event_buffer.h | 46 |
1 files changed, 19 insertions, 27 deletions
diff --git a/drivers/oprofile/event_buffer.h b/drivers/oprofile/event_buffer.h index 442aaad391e..a8d5bb3cba8 100644 --- a/drivers/oprofile/event_buffer.h +++ b/drivers/oprofile/event_buffer.h @@ -10,39 +10,31 @@ #ifndef EVENT_BUFFER_H #define EVENT_BUFFER_H -#include <linux/types.h> -#include <asm/semaphore.h> - +#include <linux/types.h> +#include <linux/mutex.h> + int alloc_event_buffer(void); void free_event_buffer(void); - -/* wake up the process sleeping on the event file */ -void wake_up_buffer_waiter(void); - -/* Each escaped entry is prefixed by ESCAPE_CODE - * then one of the following codes, then the - * relevant data. + +/** + * Add data to the event buffer. + * The data passed is free-form, but typically consists of + * file offsets, dcookies, context information, and ESCAPE codes. */ -#define ESCAPE_CODE ~0UL -#define CTX_SWITCH_CODE 1 -#define CPU_SWITCH_CODE 2 -#define COOKIE_SWITCH_CODE 3 -#define KERNEL_ENTER_SWITCH_CODE 4 -#define KERNEL_EXIT_SWITCH_CODE 5 -#define MODULE_LOADED_CODE 6 -#define CTX_TGID_CODE 7 -#define TRACE_BEGIN_CODE 8 -#define TRACE_END_CODE 9 - -/* add data to the event buffer */ void add_event_entry(unsigned long data); - -extern struct file_operations event_buffer_fops; - + +/* wake up the process sleeping on the event file */ +void wake_up_buffer_waiter(void); + +#define INVALID_COOKIE ~0UL +#define NO_COOKIE 0UL + +extern const struct file_operations event_buffer_fops; + /* mutex between sync_cpu_buffers() and the * file reading code. */ -extern struct semaphore buffer_sem; - +extern struct mutex buffer_mutex; + #endif /* EVENT_BUFFER_H */ |
