2005-04-16 15:20:36 -07:00
# ifndef _ASM_GENERIC_CPUTIME_H
# define _ASM_GENERIC_CPUTIME_H
# include <linux/time.h>
# include <linux/jiffies.h>
2011-12-15 14:56:09 +01:00
typedef unsigned long __nocast cputime_t ;
2005-04-16 15:20:36 -07:00
2009-07-29 12:15:29 +02:00
# define cputime_one_jiffy jiffies_to_cputime(1)
2011-12-15 14:56:09 +01:00
# define cputime_to_jiffies(__ct) (__force unsigned long)(__ct)
2008-02-06 01:36:12 -08:00
# define cputime_to_scaled(__ct) (__ct)
2011-12-15 14:56:09 +01:00
# define jiffies_to_cputime(__hz) (__force cputime_t)(__hz)
2005-04-16 15:20:36 -07:00
2011-12-15 14:56:09 +01:00
typedef u64 __nocast cputime64_t ;
2005-04-16 15:20:36 -07:00
2011-12-15 14:56:09 +01:00
# define cputime64_to_jiffies64(__ct) (__force u64)(__ct)
# define jiffies64_to_cputime64(__jif) (__force cputime64_t)(__jif)
2010-12-21 17:09:01 -08:00
2011-12-15 14:56:09 +01:00
# define nsecs_to_cputime64(__ct) \
jiffies64_to_cputime64 ( nsecs_to_jiffies64 ( __ct ) )
2005-04-16 15:20:36 -07:00
/*
2010-10-27 15:34:45 -07:00
* Convert cputime to microseconds and back .
2005-04-16 15:20:36 -07:00
*/
2011-12-15 14:56:09 +01:00
# define cputime_to_usecs(__ct) \
2012-01-06 08:33:28 -08:00
jiffies_to_usecs ( cputime_to_jiffies ( __ct ) )
# define usecs_to_cputime(__usec) \
jiffies_to_cputime ( usecs_to_jiffies ( __usec ) )
# define usecs_to_cputime64(__usec) \
jiffies64_to_cputime64 ( nsecs_to_jiffies64 ( ( __usec ) * 1000 ) )
2005-04-16 15:20:36 -07:00
/*
* Convert cputime to seconds and back .
*/
2011-12-15 14:56:09 +01:00
# define cputime_to_secs(jif) (cputime_to_jiffies(jif) / HZ)
# define secs_to_cputime(sec) jiffies_to_cputime((sec) * HZ)
2005-04-16 15:20:36 -07:00
/*
* Convert cputime to timespec and back .
*/
2011-12-15 14:56:09 +01:00
# define timespec_to_cputime(__val) \
jiffies_to_cputime ( timespec_to_jiffies ( __val ) )
# define cputime_to_timespec(__ct,__val) \
jiffies_to_timespec ( cputime_to_jiffies ( __ct ) , __val )
2005-04-16 15:20:36 -07:00
/*
* Convert cputime to timeval and back .
*/
2011-12-15 14:56:09 +01:00
# define timeval_to_cputime(__val) \
jiffies_to_cputime ( timeval_to_jiffies ( __val ) )
# define cputime_to_timeval(__ct,__val) \
jiffies_to_timeval ( cputime_to_jiffies ( __ct ) , __val )
2005-04-16 15:20:36 -07:00
/*
* Convert cputime to clock and back .
*/
2011-12-15 14:56:09 +01:00
# define cputime_to_clock_t(__ct) \
jiffies_to_clock_t ( cputime_to_jiffies ( __ct ) )
# define clock_t_to_cputime(__x) \
jiffies_to_cputime ( clock_t_to_jiffies ( __x ) )
2005-04-16 15:20:36 -07:00
/*
* Convert cputime64 to clock .
*/
2011-12-15 14:56:09 +01:00
# define cputime64_to_clock_t(__ct) \
jiffies_64_to_clock_t ( cputime64_to_jiffies64 ( __ct ) )
2005-04-16 15:20:36 -07:00
# endif