aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Neuling <mikey@neuling.org>2007-06-08 13:18:50 +1000
committerPaul Mackerras <paulus@samba.org>2007-06-25 17:03:25 +1000
commit4cefebb1b497a84d61f2fa29d497df75a84b69d4 (patch)
tree8905c6b00a7f54a976ec6e68209ad41cf43b17ce
parentbb807e69c9eec271808cf69d19913d7ee1a51f6f (diff)
downloadkernel_goldelico_gta04-4cefebb1b497a84d61f2fa29d497df75a84b69d4.zip
kernel_goldelico_gta04-4cefebb1b497a84d61f2fa29d497df75a84b69d4.tar.gz
kernel_goldelico_gta04-4cefebb1b497a84d61f2fa29d497df75a84b69d4.tar.bz2
[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 0a8a820..43c687a 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 3fd57c0..2d00e13 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