1STRUCT HRTIMER(9) Driver Basics STRUCT HRTIMER(9)
2
3
4
6 struct_hrtimer - the basic hrtimer structure
7
9 struct hrtimer {
10 struct rb_node node;
11 ktime_t _expires;
12 ktime_t _softexpires;
13 enum hrtimer_restart (* function) (struct hrtimer *);
14 struct hrtimer_clock_base * base;
15 unsigned long state;
16 #ifdef CONFIG_TIMER_STATS
17 int start_pid;
18 void * start_site;
19 char start_comm[16];
20 #endif
21 };
22
24 node
25 red black tree node for time ordered insertion
26
27 _expires
28 the absolute expiry time in the hrtimers internal representation.
29 The time is related to the clock on which the timer is based. Is
30 setup by adding slack to the _softexpires value. For non range
31 timers identical to _softexpires.
32
33 _softexpires
34 the absolute earliest expiry time of the hrtimer. The time which
35 was given as expiry time when the timer was armed.
36
37 function
38 timer expiry callback function
39
40 base
41 pointer to the timer base (per cpu and per clock)
42
43 state
44 state information (See bit values above)
45
46 start_pid
47 timer statistics field to store the pid of the task which started
48 the timer
49
50 start_site
51 timer statistics field to store the site where the timer was
52 started
53
54 start_comm[16]
55 timer statistics field to store the name of the process which
56 started the timer
57
59 The hrtimer structure must be initialized by hrtimer_init
60
62Kernel Hackers Manual 2.6. June 2019 STRUCT HRTIMER(9)