5 #include <linux/timex.h>
10 static inline clock_t jiffies_to_clock_t(long x)
12 #if (TICK_NSEC % (NSEC_PER_SEC / USER_HZ)) == 0
13 return x / (HZ / USER_HZ);
15 u64 tmp = (u64)x * TICK_NSEC;
16 do_div(tmp, (NSEC_PER_SEC / USER_HZ));
21 static inline unsigned long clock_t_to_jiffies(unsigned long x)
24 if (x >= ~0UL / (HZ / USER_HZ))
26 return x * (HZ / USER_HZ);
30 /* Don't worry about loss of precision here .. */
31 if (x >= ~0UL / HZ * USER_HZ)
34 /* .. but do try to contain it here */
41 static inline u64 jiffies_64_to_clock_t(u64 x)
43 #if (TICK_NSEC % (NSEC_PER_SEC / USER_HZ)) == 0
44 do_div(x, HZ / USER_HZ);
47 * There are better ways that don't overflow early,
48 * but even this doesn't overflow in hundreds of years
52 do_div(x, (NSEC_PER_SEC / USER_HZ));