2005-04-17 06:20:36 +08:00
|
|
|
/**
|
|
|
|
* @file oprof.h
|
|
|
|
*
|
|
|
|
* @remark Copyright 2002 OProfile authors
|
|
|
|
* @remark Read the file COPYING
|
|
|
|
*
|
|
|
|
* @author John Levon <levon@movementarian.org>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef OPROF_H
|
|
|
|
#define OPROF_H
|
|
|
|
|
|
|
|
int oprofile_setup(void);
|
2008-10-16 21:01:40 +08:00
|
|
|
void oprofile_shutdown(void);
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
int oprofilefs_register(void);
|
|
|
|
void oprofilefs_unregister(void);
|
|
|
|
|
|
|
|
int oprofile_start(void);
|
|
|
|
void oprofile_stop(void);
|
|
|
|
|
|
|
|
struct oprofile_operations;
|
2008-10-16 21:01:40 +08:00
|
|
|
|
2008-12-16 23:19:54 +08:00
|
|
|
extern unsigned long oprofile_buffer_size;
|
|
|
|
extern unsigned long oprofile_cpu_buffer_size;
|
|
|
|
extern unsigned long oprofile_buffer_watershed;
|
2009-07-15 21:19:29 +08:00
|
|
|
extern unsigned long oprofile_time_slice;
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
extern struct oprofile_operations oprofile_ops;
|
|
|
|
extern unsigned long oprofile_started;
|
2008-12-16 23:19:54 +08:00
|
|
|
extern unsigned long oprofile_backtrace_depth;
|
2008-10-16 21:01:40 +08:00
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
struct dentry;
|
|
|
|
|
2013-07-19 19:47:29 +08:00
|
|
|
void oprofile_create_files(struct dentry *root);
|
2010-03-02 23:01:10 +08:00
|
|
|
int oprofile_timer_init(struct oprofile_operations *ops);
|
2011-10-11 23:11:08 +08:00
|
|
|
#ifdef CONFIG_OPROFILE_NMI_TIMER
|
|
|
|
int op_nmi_timer_init(struct oprofile_operations *ops);
|
|
|
|
#else
|
|
|
|
static inline int op_nmi_timer_init(struct oprofile_operations *ops)
|
|
|
|
{
|
|
|
|
return -ENODEV;
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2010-10-05 03:09:36 +08:00
|
|
|
int oprofile_set_ulong(unsigned long *addr, unsigned long val);
|
2009-07-08 19:49:38 +08:00
|
|
|
int oprofile_set_timeout(unsigned long time);
|
2008-10-16 21:01:40 +08:00
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
#endif /* OPROF_H */
|