cputime.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #ifndef _ASM_GENERIC_CPUTIME_H
  2. #define _ASM_GENERIC_CPUTIME_H
  3. #include <linux/time.h>
  4. #include <linux/jiffies.h>
  5. typedef unsigned long __nocast cputime_t;
  6. #define cputime_one_jiffy jiffies_to_cputime(1)
  7. #define cputime_to_jiffies(__ct) (__force unsigned long)(__ct)
  8. #define cputime_to_scaled(__ct) (__ct)
  9. #define jiffies_to_cputime(__hz) (__force cputime_t)(__hz)
  10. typedef u64 __nocast cputime64_t;
  11. #define cputime64_to_jiffies64(__ct) (__force u64)(__ct)
  12. #define jiffies64_to_cputime64(__jif) (__force cputime64_t)(__jif)
  13. #define nsecs_to_cputime64(__ct) \
  14. jiffies64_to_cputime64(nsecs_to_jiffies64(__ct))
  15. /*
  16. * Convert cputime to microseconds and back.
  17. */
  18. #define cputime_to_usecs(__ct) \
  19. jiffies_to_usecs(cputime_to_jiffies(__ct))
  20. #define usecs_to_cputime(__usec) \
  21. jiffies_to_cputime(usecs_to_jiffies(__usec))
  22. #define usecs_to_cputime64(__usec) \
  23. jiffies64_to_cputime64(nsecs_to_jiffies64((__usec) * 1000))
  24. /*
  25. * Convert cputime to seconds and back.
  26. */
  27. #define cputime_to_secs(jif) (cputime_to_jiffies(jif) / HZ)
  28. #define secs_to_cputime(sec) jiffies_to_cputime((sec) * HZ)
  29. /*
  30. * Convert cputime to timespec and back.
  31. */
  32. #define timespec_to_cputime(__val) \
  33. jiffies_to_cputime(timespec_to_jiffies(__val))
  34. #define cputime_to_timespec(__ct,__val) \
  35. jiffies_to_timespec(cputime_to_jiffies(__ct),__val)
  36. /*
  37. * Convert cputime to timeval and back.
  38. */
  39. #define timeval_to_cputime(__val) \
  40. jiffies_to_cputime(timeval_to_jiffies(__val))
  41. #define cputime_to_timeval(__ct,__val) \
  42. jiffies_to_timeval(cputime_to_jiffies(__ct),__val)
  43. /*
  44. * Convert cputime to clock and back.
  45. */
  46. #define cputime_to_clock_t(__ct) \
  47. jiffies_to_clock_t(cputime_to_jiffies(__ct))
  48. #define clock_t_to_cputime(__x) \
  49. jiffies_to_cputime(clock_t_to_jiffies(__x))
  50. /*
  51. * Convert cputime64 to clock.
  52. */
  53. #define cputime64_to_clock_t(__ct) \
  54. jiffies_64_to_clock_t(cputime64_to_jiffies64(__ct))
  55. #endif