aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2014-03-05 10:22:37 -0500
committerFrederic Weisbecker <fweisbec@gmail.com>2014-03-13 10:56:44 -0400
commitd8a9ce3f8ad2b546b9ebaf65de809da0793f11c5 (patch)
treeb135c1cbf8b3eb31e1ee58a7aa8b0f43f7f6a828
parentbfc3f0281e08066fa8111c3972cff6edc1049864 (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.h4
-rw-r--r--include/asm-generic/cputime_nsecs.h2
-rw-r--r--include/linux/cputime.h5
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)