diff options
Diffstat (limited to 'drivers/oprofile/cpu_buffer.c')
| -rw-r--r-- | drivers/oprofile/cpu_buffer.c | 16 | 
1 files changed, 15 insertions, 1 deletions
diff --git a/drivers/oprofile/cpu_buffer.c b/drivers/oprofile/cpu_buffer.c index 242257b1944..a7aae24f288 100644 --- a/drivers/oprofile/cpu_buffer.c +++ b/drivers/oprofile/cpu_buffer.c @@ -21,7 +21,6 @@  #include <linux/sched.h>  #include <linux/oprofile.h> -#include <linux/vmalloc.h>  #include <linux/errno.h>  #include "event_buffer.h" @@ -407,6 +406,21 @@ int oprofile_add_data(struct op_entry *entry, unsigned long val)  	return op_cpu_buffer_add_data(entry, val);  } +int oprofile_add_data64(struct op_entry *entry, u64 val) +{ +	if (!entry->event) +		return 0; +	if (op_cpu_buffer_get_size(entry) < 2) +		/* +		 * the function returns 0 to indicate a too small +		 * buffer, even if there is some space left +		 */ +		return 0; +	if (!op_cpu_buffer_add_data(entry, (u32)val)) +		return 0; +	return op_cpu_buffer_add_data(entry, (u32)(val >> 32)); +} +  int oprofile_write_commit(struct op_entry *entry)  {  	if (!entry->event)  |