Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
samples
trace_events
trace-events-sample.c
Go to the documentation of this file.
1
#include <linux/module.h>
2
#include <
linux/kthread.h
>
3
4
/*
5
* Any file that uses trace points, must include the header.
6
* But only one file, must include the header by defining
7
* CREATE_TRACE_POINTS first. This will make the C code that
8
* creates the handles for the trace points.
9
*/
10
#define CREATE_TRACE_POINTS
11
#include "
trace-events-sample.h
"
12
13
14
static
void
simple_thread_func(
int
cnt
)
15
{
16
set_current_state
(
TASK_INTERRUPTIBLE
);
17
schedule_timeout
(
HZ
);
18
trace_foo_bar(
"hello"
, cnt);
19
}
20
21
static
int
simple_thread(
void
*
arg
)
22
{
23
int
cnt
= 0;
24
25
while
(!
kthread_should_stop
())
26
simple_thread_func(cnt++);
27
28
return
0;
29
}
30
31
static
struct
task_struct
*simple_tsk;
32
33
static
int
__init
trace_event_init(
void
)
34
{
35
simple_tsk =
kthread_run
(simple_thread,
NULL
,
"event-sample"
);
36
if
(IS_ERR(simple_tsk))
37
return
-1;
38
39
return
0;
40
}
41
42
static
void
__exit
trace_event_exit(
void
)
43
{
44
kthread_stop
(simple_tsk);
45
}
46
47
module_init
(trace_event_init);
48
module_exit
(trace_event_exit);
49
50
MODULE_AUTHOR
(
"Steven Rostedt"
);
51
MODULE_DESCRIPTION
(
"trace-events-sample"
);
52
MODULE_LICENSE
(
"GPL"
);
Generated on Thu Jan 10 2013 15:02:49 for Linux Kernel by
1.8.2