diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-06-12 12:26:21 +0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-06-12 12:27:29 +0400 |
commit | 76d4e00a05d06c1d1552adea24fcf6182c9d8999 (patch) | |
tree | 932881ed89489a912fc4c3ab15b03290283d60e2 /arch/s390/include/asm/cputime.h | |
parent | 7aa79f948749da7de3de0c427e9c9ee0ff595243 (diff) | |
download | linux-76d4e00a05d06c1d1552adea24fcf6182c9d8999.tar.xz |
[S390] merge cpu.h into cputime.h
All definition in cpu.h have to do with cputime accounting. Move
them to cputime.h and remove the header file.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/cputime.h')
-rw-r--r-- | arch/s390/include/asm/cputime.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/s390/include/asm/cputime.h b/arch/s390/include/asm/cputime.h index 941384fbd39c..ec917d42ee6d 100644 --- a/arch/s390/include/asm/cputime.h +++ b/arch/s390/include/asm/cputime.h @@ -9,6 +9,9 @@ #ifndef _S390_CPUTIME_H #define _S390_CPUTIME_H +#include <linux/types.h> +#include <linux/percpu.h> +#include <linux/spinlock.h> #include <asm/div64.h> /* We want to use full resolution of the CPU timer: 2**-12 micro-seconds. */ @@ -174,8 +177,24 @@ cputime64_to_clock_t(cputime64_t cputime) return __div(cputime, 4096000000ULL / USER_HZ); } +struct s390_idle_data { + spinlock_t lock; + unsigned long long idle_count; + unsigned long long idle_enter; + unsigned long long idle_time; +}; + +DECLARE_PER_CPU(struct s390_idle_data, s390_idle); + +void vtime_start_cpu(void); cputime64_t s390_get_idle_time(int cpu); #define arch_idle_time(cpu) s390_get_idle_time(cpu) +static inline void s390_idle_check(void) +{ + if ((&__get_cpu_var(s390_idle))->idle_enter != 0ULL) + vtime_start_cpu(); +} + #endif /* _S390_CPUTIME_H */ |