diff options
Diffstat (limited to 'arch/ia64/include/asm/cputime.h')
-rw-r--r-- | arch/ia64/include/asm/cputime.h | 92 |
1 files changed, 6 insertions, 86 deletions
diff --git a/arch/ia64/include/asm/cputime.h b/arch/ia64/include/asm/cputime.h index 7fcf7f08ab06..e2d3f5baf265 100644 --- a/arch/ia64/include/asm/cputime.h +++ b/arch/ia64/include/asm/cputime.h | |||
@@ -11,99 +11,19 @@ | |||
11 | * as published by the Free Software Foundation; either version | 11 | * as published by the Free Software Foundation; either version |
12 | * 2 of the License, or (at your option) any later version. | 12 | * 2 of the License, or (at your option) any later version. |
13 | * | 13 | * |
14 | * If we have CONFIG_VIRT_CPU_ACCOUNTING, we measure cpu time in nsec. | 14 | * If we have CONFIG_VIRT_CPU_ACCOUNTING_NATIVE, we measure cpu time in nsec. |
15 | * Otherwise we measure cpu time in jiffies using the generic definitions. | 15 | * Otherwise we measure cpu time in jiffies using the generic definitions. |
16 | */ | 16 | */ |
17 | 17 | ||
18 | #ifndef __IA64_CPUTIME_H | 18 | #ifndef __IA64_CPUTIME_H |
19 | #define __IA64_CPUTIME_H | 19 | #define __IA64_CPUTIME_H |
20 | 20 | ||
21 | #ifndef CONFIG_VIRT_CPU_ACCOUNTING | 21 | #ifndef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE |
22 | #include <asm-generic/cputime.h> | 22 | # include <asm-generic/cputime.h> |
23 | #else | 23 | #else |
24 | 24 | # include <asm/processor.h> | |
25 | #include <linux/time.h> | 25 | # include <asm-generic/cputime_nsecs.h> |
26 | #include <linux/jiffies.h> | ||
27 | #include <asm/processor.h> | ||
28 | |||
29 | typedef u64 __nocast cputime_t; | ||
30 | typedef u64 __nocast cputime64_t; | ||
31 | |||
32 | #define cputime_one_jiffy jiffies_to_cputime(1) | ||
33 | |||
34 | /* | ||
35 | * Convert cputime <-> jiffies (HZ) | ||
36 | */ | ||
37 | #define cputime_to_jiffies(__ct) \ | ||
38 | ((__force u64)(__ct) / (NSEC_PER_SEC / HZ)) | ||
39 | #define jiffies_to_cputime(__jif) \ | ||
40 | (__force cputime_t)((__jif) * (NSEC_PER_SEC / HZ)) | ||
41 | #define cputime64_to_jiffies64(__ct) \ | ||
42 | ((__force u64)(__ct) / (NSEC_PER_SEC / HZ)) | ||
43 | #define jiffies64_to_cputime64(__jif) \ | ||
44 | (__force cputime64_t)((__jif) * (NSEC_PER_SEC / HZ)) | ||
45 | |||
46 | /* | ||
47 | * Convert cputime <-> microseconds | ||
48 | */ | ||
49 | #define cputime_to_usecs(__ct) \ | ||
50 | ((__force u64)(__ct) / NSEC_PER_USEC) | ||
51 | #define usecs_to_cputime(__usecs) \ | ||
52 | (__force cputime_t)((__usecs) * NSEC_PER_USEC) | ||
53 | #define usecs_to_cputime64(__usecs) \ | ||
54 | (__force cputime64_t)((__usecs) * NSEC_PER_USEC) | ||
55 | |||
56 | /* | ||
57 | * Convert cputime <-> seconds | ||
58 | */ | ||
59 | #define cputime_to_secs(__ct) \ | ||
60 | ((__force u64)(__ct) / NSEC_PER_SEC) | ||
61 | #define secs_to_cputime(__secs) \ | ||
62 | (__force cputime_t)((__secs) * NSEC_PER_SEC) | ||
63 | |||
64 | /* | ||
65 | * Convert cputime <-> timespec (nsec) | ||
66 | */ | ||
67 | static inline cputime_t timespec_to_cputime(const struct timespec *val) | ||
68 | { | ||
69 | u64 ret = val->tv_sec * NSEC_PER_SEC + val->tv_nsec; | ||
70 | return (__force cputime_t) ret; | ||
71 | } | ||
72 | static inline void cputime_to_timespec(const cputime_t ct, struct timespec *val) | ||
73 | { | ||
74 | val->tv_sec = (__force u64) ct / NSEC_PER_SEC; | ||
75 | val->tv_nsec = (__force u64) ct % NSEC_PER_SEC; | ||
76 | } | ||
77 | |||
78 | /* | ||
79 | * Convert cputime <-> timeval (msec) | ||
80 | */ | ||
81 | static inline cputime_t timeval_to_cputime(struct timeval *val) | ||
82 | { | ||
83 | u64 ret = val->tv_sec * NSEC_PER_SEC + val->tv_usec * NSEC_PER_USEC; | ||
84 | return (__force cputime_t) ret; | ||
85 | } | ||
86 | static inline void cputime_to_timeval(const cputime_t ct, struct timeval *val) | ||
87 | { | ||
88 | val->tv_sec = (__force u64) ct / NSEC_PER_SEC; | ||
89 | val->tv_usec = ((__force u64) ct % NSEC_PER_SEC) / NSEC_PER_USEC; | ||
90 | } | ||
91 | |||
92 | /* | ||
93 | * Convert cputime <-> clock (USER_HZ) | ||
94 | */ | ||
95 | #define cputime_to_clock_t(__ct) \ | ||
96 | ((__force u64)(__ct) / (NSEC_PER_SEC / USER_HZ)) | ||
97 | #define clock_t_to_cputime(__x) \ | ||
98 | (__force cputime_t)((__x) * (NSEC_PER_SEC / USER_HZ)) | ||
99 | |||
100 | /* | ||
101 | * Convert cputime64 to clock. | ||
102 | */ | ||
103 | #define cputime64_to_clock_t(__ct) \ | ||
104 | cputime_to_clock_t((__force cputime_t)__ct) | ||
105 | |||
106 | extern void arch_vtime_task_switch(struct task_struct *tsk); | 26 | extern void arch_vtime_task_switch(struct task_struct *tsk); |
27 | #endif /* CONFIG_VIRT_CPU_ACCOUNTING_NATIVE */ | ||
107 | 28 | ||
108 | #endif /* CONFIG_VIRT_CPU_ACCOUNTING */ | ||
109 | #endif /* __IA64_CPUTIME_H */ | 29 | #endif /* __IA64_CPUTIME_H */ |