diff options
author | Michael Neuling <mikey@neuling.org> | 2007-06-08 13:18:50 +1000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-06-25 17:03:25 +1000 |
commit | 4cefebb1b497a84d61f2fa29d497df75a84b69d4 (patch) | |
tree | 8905c6b00a7f54a976ec6e68209ad41cf43b17ce | |
parent | bb807e69c9eec271808cf69d19913d7ee1a51f6f (diff) | |
download | linux-4cefebb1b497a84d61f2fa29d497df75a84b69d4.tar.gz linux-4cefebb1b497a84d61f2fa29d497df75a84b69d4.tar.bz2 linux-4cefebb1b497a84d61f2fa29d497df75a84b69d4.zip |
[POWERPC] Fix stolen time for SMT without LPAR
For POWERPC, stolen time accounts for cycles lost to the hypervisor or
PURR cycles attributed to the other SMT thread. Hence, when a PURR is
available, we should still calculate stolen time, irrespective of being
virtualised.
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | arch/powerpc/kernel/time.c | 2 | ||||
-rw-r--r-- | include/asm-powerpc/time.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c index 0a8a820672f4..43c687a1d76e 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c @@ -214,7 +214,6 @@ static void account_process_time(struct pt_regs *regs) run_posix_cpu_timers(current); } -#ifdef CONFIG_PPC_SPLPAR /* * Stuff for accounting stolen time. */ @@ -279,6 +278,7 @@ void calculate_steal_time(void) pme->purr = purr; } +#ifdef CONFIG_PPC_SPLPAR /* * Must be called before the cpu is added to the online map when * a cpu is being brought up at runtime. diff --git a/include/asm-powerpc/time.h b/include/asm-powerpc/time.h index 3fd57c048f59..2d00e13c981a 100644 --- a/include/asm-powerpc/time.h +++ b/include/asm-powerpc/time.h @@ -232,7 +232,7 @@ extern void account_process_vtime(struct task_struct *tsk); #define account_process_vtime(tsk) do { } while (0) #endif -#if defined(CONFIG_VIRT_CPU_ACCOUNTING) && defined(CONFIG_PPC_SPLPAR) +#if defined(CONFIG_VIRT_CPU_ACCOUNTING) extern void calculate_steal_time(void); extern void snapshot_timebases(void); #else |