cpu.h 633 B

1234567891011121314151617181920212223242526272829303132
  1. /*
  2. * include/asm-s390/cpu.h
  3. *
  4. * Copyright IBM Corp. 2007
  5. * Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>
  6. */
  7. #ifndef _ASM_S390_CPU_H_
  8. #define _ASM_S390_CPU_H_
  9. #include <linux/types.h>
  10. #include <linux/percpu.h>
  11. #include <linux/spinlock.h>
  12. struct s390_idle_data {
  13. spinlock_t lock;
  14. unsigned long long idle_count;
  15. unsigned long long idle_enter;
  16. unsigned long long idle_time;
  17. };
  18. DECLARE_PER_CPU(struct s390_idle_data, s390_idle);
  19. void vtime_start_cpu(void);
  20. static inline void s390_idle_check(void)
  21. {
  22. if ((&__get_cpu_var(s390_idle))->idle_enter != 0ULL)
  23. vtime_start_cpu();
  24. }
  25. #endif /* _ASM_S390_CPU_H_ */