diff options
author | Frederic Weisbecker <fweisbec@gmail.com> | 2014-03-05 10:22:37 -0500 |
---|---|---|
committer | Frederic Weisbecker <fweisbec@gmail.com> | 2014-03-13 10:56:44 -0400 |
commit | d8a9ce3f8ad2b546b9ebaf65de809da0793f11c5 (patch) | |
tree | b135c1cbf8b3eb31e1ee58a7aa8b0f43f7f6a828 | |
parent | bfc3f0281e08066fa8111c3972cff6edc1049864 (diff) |
cputime: Bring cputime -> nsecs conversion
We already have nsecs_to_cputime(). Now we need to be able to convert
the other way around in order to fix a bug on steal time accounting.
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
-rw-r--r-- | include/asm-generic/cputime_jiffies.h | 4 | ||||
-rw-r--r-- | include/asm-generic/cputime_nsecs.h | 2 | ||||
-rw-r--r-- | include/linux/cputime.h | 5 |
3 files changed, 10 insertions, 1 deletions
diff --git a/include/asm-generic/cputime_jiffies.h b/include/asm-generic/cputime_jiffies.h index 272ecba9f588..d5cb78f53986 100644 --- a/include/asm-generic/cputime_jiffies.h +++ b/include/asm-generic/cputime_jiffies.h | |||
@@ -15,8 +15,10 @@ typedef u64 __nocast cputime64_t; | |||
15 | 15 | ||
16 | 16 | ||
17 | /* | 17 | /* |
18 | * Convert nanoseconds to cputime | 18 | * Convert nanoseconds <-> cputime |
19 | */ | 19 | */ |
20 | #define cputime_to_nsecs(__ct) \ | ||
21 | jiffies_to_nsecs(cputime_to_jiffies(__ct)) | ||
20 | #define nsecs_to_cputime64(__nsec) \ | 22 | #define nsecs_to_cputime64(__nsec) \ |
21 | jiffies64_to_cputime64(nsecs_to_jiffies64(__nsec)) | 23 | jiffies64_to_cputime64(nsecs_to_jiffies64(__nsec)) |
22 | #define nsecs_to_cputime(__nsec) \ | 24 | #define nsecs_to_cputime(__nsec) \ |
diff --git a/include/asm-generic/cputime_nsecs.h b/include/asm-generic/cputime_nsecs.h index 768294f8bf85..4e817606c549 100644 --- a/include/asm-generic/cputime_nsecs.h +++ b/include/asm-generic/cputime_nsecs.h | |||
@@ -44,6 +44,8 @@ typedef u64 __nocast cputime64_t; | |||
44 | /* | 44 | /* |
45 | * Convert cputime <-> nanoseconds | 45 | * Convert cputime <-> nanoseconds |
46 | */ | 46 | */ |
47 | #define cputime_to_nsecs(__ct) \ | ||
48 | (__force u64)(__ct) | ||
47 | #define nsecs_to_cputime(__nsecs) \ | 49 | #define nsecs_to_cputime(__nsecs) \ |
48 | (__force cputime_t)(__nsecs) | 50 | (__force cputime_t)(__nsecs) |
49 | 51 | ||
diff --git a/include/linux/cputime.h b/include/linux/cputime.h index 2842ebe2844d..f2eb2ee535ca 100644 --- a/include/linux/cputime.h +++ b/include/linux/cputime.h | |||
@@ -3,6 +3,11 @@ | |||
3 | 3 | ||
4 | #include <asm/cputime.h> | 4 | #include <asm/cputime.h> |
5 | 5 | ||
6 | #ifndef cputime_to_nsecs | ||
7 | # define cputime_to_nsecs(__ct) \ | ||
8 | (cputime_to_usecs(__ct) * NSEC_PER_USEC) | ||
9 | #endif | ||
10 | |||
6 | #ifndef nsecs_to_cputime | 11 | #ifndef nsecs_to_cputime |
7 | # define nsecs_to_cputime(__nsecs) \ | 12 | # define nsecs_to_cputime(__nsecs) \ |
8 | usecs_to_cputime((__nsecs) / NSEC_PER_USEC) | 13 | usecs_to_cputime((__nsecs) / NSEC_PER_USEC) |