diff options
author | Milton Miller <miltonm@bga.com> | 2007-12-14 15:52:19 +1100 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-12-20 16:15:43 +1100 |
commit | db3801a858e97adee0f3b4c732e6ff325d95e0a5 (patch) | |
tree | 77e4cdeca573b95591eecc83a2af6ac03d7c1e50 /arch/powerpc/kernel/time.c | |
parent | 6e6b44e8223a01d35fceec3631be356fbdbcf004 (diff) | |
download | kernel_samsung_smdk4412-db3801a858e97adee0f3b4c732e6ff325d95e0a5.tar.gz kernel_samsung_smdk4412-db3801a858e97adee0f3b4c732e6ff325d95e0a5.tar.bz2 kernel_samsung_smdk4412-db3801a858e97adee0f3b4c732e6ff325d95e0a5.zip |
[POWERPC] Depend on ->initialized in calc_steal_time
If CPU_FTR_PURR is not set, we will never set cpu_purr_data->initialized.
Checking via __get_cpu_var on 64 bit avoids one dependent load compared
to cpu_has_feature in the not-present case, and is always required when
it is present. The code is under CONFIG_VIRT_CPU_ACCOUNTING so 32 bit
will not be affected.
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/time.c')
-rw-r--r-- | arch/powerpc/kernel/time.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c index 5cf39408059..398cd0c7b60 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c @@ -329,11 +329,9 @@ void calculate_steal_time(void) s64 stolen; struct cpu_purr_data *pme; - if (!cpu_has_feature(CPU_FTR_PURR)) - return; pme = &__get_cpu_var(cpu_purr_data); if (!pme->initialized) - return; /* this can happen in early boot */ + return; /* !CPU_FTR_PURR or early in early boot */ tb = mftb(); purr = mfspr(SPRN_PURR); stolen = (tb - pme->tb) - (purr - pme->purr); |