[PATCH] jiffies.h
[opensuse:kernel.git] / include / linux / jiffies.h
1 #ifndef _LINUX_JIFFIES_H
2 #define _LINUX_JIFFIES_H
3
4 /*
5  * The 64-bit value is not volatile - you MUST NOT read it
6  * without holding read_lock_irq(&xtime_lock)
7  */
8 extern u64 jiffies_64;
9 extern unsigned long volatile jiffies;
10
11 /*
12  *      These inlines deal with timer wrapping correctly. You are 
13  *      strongly encouraged to use them
14  *      1. Because people otherwise forget
15  *      2. Because if the timer wrap changes in future you wont have to
16  *         alter your driver code.
17  *
18  * time_after(a,b) returns true if the time a is after time b.
19  *
20  * Do this with "<0" and ">=0" to only test the sign of the result. A
21  * good compiler would generate better code (and a really good compiler
22  * wouldn't care). Gcc is currently neither.
23  */
24 #define time_after(a,b)         ((long)(b) - (long)(a) < 0)
25 #define time_before(a,b)        time_after(b,a)
26
27 #define time_after_eq(a,b)      ((long)(a) - (long)(b) >= 0)
28 #define time_before_eq(a,b)     time_after_eq(b,a)
29
30 #endif