cpu.h 645 B

123456789101112131415161718192021222324252627282930313233
  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 int in_idle;
  15. unsigned long long idle_count;
  16. unsigned long long idle_enter;
  17. unsigned long long idle_time;
  18. };
  19. DECLARE_PER_CPU(struct s390_idle_data, s390_idle);
  20. void s390_idle_leave(void);
  21. static inline void s390_idle_check(void)
  22. {
  23. if ((&__get_cpu_var(s390_idle))->in_idle)
  24. s390_idle_leave();
  25. }
  26. #endif /* _ASM_S390_CPU_H_ */