cputime: Bring cputime -> nsecs conversion
authorFrederic Weisbecker <fweisbec@gmail.com>
Wed, 5 Mar 2014 15:22:37 +0000 (16:22 +0100)
committerFrederic Weisbecker <fweisbec@gmail.com>
Thu, 13 Mar 2014 14:56:44 +0000 (15:56 +0100)
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>
include/asm-generic/cputime_jiffies.h
include/asm-generic/cputime_nsecs.h
include/linux/cputime.h

index 272ecba9f5889672b4b4e555c3208946a8c5e002..d5cb78f539861afdc82eae345ee4c8148fb2448e 100644 (file)
@@ -15,8 +15,10 @@ typedef u64 __nocast cputime64_t;
 
 
 /*
- * Convert nanoseconds to cputime
+ * Convert nanoseconds <-> cputime
  */
+#define cputime_to_nsecs(__ct)         \
+       jiffies_to_nsecs(cputime_to_jiffies(__ct))
 #define nsecs_to_cputime64(__nsec)     \
        jiffies64_to_cputime64(nsecs_to_jiffies64(__nsec))
 #define nsecs_to_cputime(__nsec)       \
index 768294f8bf85ed203d41c0852d77d37a662d5946..4e817606c5494126a31ae50e58a6e76242d89f07 100644 (file)
@@ -44,6 +44,8 @@ typedef u64 __nocast cputime64_t;
 /*
  * Convert cputime <-> nanoseconds
  */
+#define cputime_to_nsecs(__ct)         \
+       (__force u64)(__ct)
 #define nsecs_to_cputime(__nsecs)      \
        (__force cputime_t)(__nsecs)
 
index 2842ebe2844dc775e32976dff61bb9f72bfce44f..f2eb2ee535cabeffea2019cfcfdf113a9025f768 100644 (file)
@@ -3,6 +3,11 @@
 
 #include <asm/cputime.h>
 
+#ifndef cputime_to_nsecs
+# define cputime_to_nsecs(__ct)        \
+       (cputime_to_usecs(__ct) * NSEC_PER_USEC)
+#endif
+
 #ifndef nsecs_to_cputime
 # define nsecs_to_cputime(__nsecs)     \
        usecs_to_cputime((__nsecs) / NSEC_PER_USEC)