diff options
author | Michael Neuling <mikey@neuling.org> | 2007-06-07 23:18:50 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-06-25 03:03:25 -0400 |
commit | 4cefebb1b497a84d61f2fa29d497df75a84b69d4 (patch) | |
tree | 8905c6b00a7f54a976ec6e68209ad41cf43b17ce | |
parent | bb807e69c9eec271808cf69d19913d7ee1a51f6f (diff) |
[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) | |||
214 | run_posix_cpu_timers(current); | 214 | run_posix_cpu_timers(current); |
215 | } | 215 | } |
216 | 216 | ||
217 | #ifdef CONFIG_PPC_SPLPAR | ||
218 | /* | 217 | /* |
219 | * Stuff for accounting stolen time. | 218 | * Stuff for accounting stolen time. |
220 | */ | 219 | */ |
@@ -279,6 +278,7 @@ void calculate_steal_time(void) | |||
279 | pme->purr = purr; | 278 | pme->purr = purr; |
280 | } | 279 | } |
281 | 280 | ||
281 | #ifdef CONFIG_PPC_SPLPAR | ||
282 | /* | 282 | /* |
283 | * Must be called before the cpu is added to the online map when | 283 | * Must be called before the cpu is added to the online map when |
284 | * a cpu is being brought up at runtime. | 284 | * 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); | |||
232 | #define account_process_vtime(tsk) do { } while (0) | 232 | #define account_process_vtime(tsk) do { } while (0) |
233 | #endif | 233 | #endif |
234 | 234 | ||
235 | #if defined(CONFIG_VIRT_CPU_ACCOUNTING) && defined(CONFIG_PPC_SPLPAR) | 235 | #if defined(CONFIG_VIRT_CPU_ACCOUNTING) |
236 | extern void calculate_steal_time(void); | 236 | extern void calculate_steal_time(void); |
237 | extern void snapshot_timebases(void); | 237 | extern void snapshot_timebases(void); |
238 | #else | 238 | #else |