XenevaOS
Loading...
Searching...
No Matches
timerqueue.h
Go to the documentation of this file.
1/*
2 * DCL <linux/timerqueue.h> -- the expiry-node struct, and only that.
3 *
4 * mainline keeps struct timerqueue_node and struct timerqueue_head here with
5 * a red-black tree of them behind timerqueue_add/min/removel (kernel/time/).
6 * DCL has no hrtimer queue at all -- hrtimer.h's four static inlines are the
7 * whole surface, and there is no clock base for a queued timer to sit on --
8 * so the tree and its three operations are not absent by oversight, they are
9 * absent because there is no queue to give them to.
10 *
11 * The node is a different case: drm_vblank.c:2311 reads
12 * `vtimer->timer.node.expires` to compare a re-read expiry time against the
13 * one it already has, and that is a *member access on struct hrtimer*, which
14 * means the type has to exist and has to carry the member. It is mainline's
15 * spelling and mainline's two fields so that a real queue could be dropped
16 * in underneath without the read sites changing.
17 *
18 * Include order is mainline's: rbtree for struct rb_node, ktime for
19 * ktime_t. ktime.h routes through kernel.h, which is the aggregator -- the
20 * same exposure hrtimer.h already carries by including ktime.h at its own
21 * line 57, so nothing new reaches a source by adding this header beside it.
22 */
23#ifndef _LINUX_TIMERQUEUE_H
24#define _LINUX_TIMERQUEUE_H
25
26#include <linux/rbtree.h> /* struct rb_node */
27#include <linux/ktime.h> /* ktime_t */
28
33
34#endif /* _LINUX_TIMERQUEUE_H */
int64_t ktime_t
Definition kernel.h:404
Definition rbtree_types.h:21
Definition timerqueue.h:29
ktime_t expires
Definition timerqueue.h:31
struct rb_node node
Definition timerqueue.h:30