aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Neuling <mikey@neuling.org>2007-06-07 23:18:50 -0400
committerPaul Mackerras <paulus@samba.org>2007-06-25 03:03:25 -0400
commit4cefebb1b497a84d61f2fa29d497df75a84b69d4 (patch)
tree8905c6b00a7f54a976ec6e68209ad41cf43b17ce
parentbb807e69c9eec271808cf69d19913d7ee1a51f6f (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.c2
-rw-r--r--include/asm-powerpc/time.h2
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)
236extern void calculate_steal_time(void); 236extern void calculate_steal_time(void);
237extern void snapshot_timebases(void); 237extern void snapshot_timebases(void);
238#else 238#else