diff options
Diffstat (limited to 'drivers/oprofile/event_buffer.h')
| -rw-r--r-- | drivers/oprofile/event_buffer.h | 43 |
1 files changed, 16 insertions, 27 deletions
diff --git a/drivers/oprofile/event_buffer.h b/drivers/oprofile/event_buffer.h index 01802363059..a8d5bb3cba8 100644 --- a/drivers/oprofile/event_buffer.h +++ b/drivers/oprofile/event_buffer.h @@ -10,42 +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); - + +/** + * Add data to the event buffer. + * The data passed is free-form, but typically consists of + * file offsets, dcookies, context information, and ESCAPE codes. + */ +void add_event_entry(unsigned long data); + /* 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. - */ -#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 - + #define INVALID_COOKIE ~0UL #define NO_COOKIE 0UL -/* add data to the event buffer */ -void add_event_entry(unsigned long data); - -extern struct file_operations event_buffer_fops; - +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 */ |
