oprof.h 1.2 KB
Newer Older
L
Linus Torvalds 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13
/**
 * @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);
14
void oprofile_shutdown(void);
L
Linus Torvalds 已提交
15 16 17 18 19 20 21 22

int oprofilefs_register(void);
void oprofilefs_unregister(void);

int oprofile_start(void);
void oprofile_stop(void);

struct oprofile_operations;
23

24 25 26
extern unsigned long oprofile_buffer_size;
extern unsigned long oprofile_cpu_buffer_size;
extern unsigned long oprofile_buffer_watershed;
27 28
extern unsigned long oprofile_time_slice;

L
Linus Torvalds 已提交
29 30
extern struct oprofile_operations oprofile_ops;
extern unsigned long oprofile_started;
31
extern unsigned long oprofile_backtrace_depth;
32

L
Linus Torvalds 已提交
33 34 35
struct super_block;
struct dentry;

36
void oprofile_create_files(struct dentry *root);
37
int oprofile_timer_init(struct oprofile_operations *ops);
38 39 40 41 42 43 44 45 46
#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

L
Linus Torvalds 已提交
47

48
int oprofile_set_ulong(unsigned long *addr, unsigned long val);
49
int oprofile_set_timeout(unsigned long time);
50

L
Linus Torvalds 已提交
51
#endif /* OPROF_H */