diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-04-14 09:36:29 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-04-14 09:37:27 -0400 |
commit | ab96e798cbd562a53edd802272e49a5100b29efb (patch) | |
tree | 4b3558bc97f5c2fc5c63789431deef79534e3bd3 /arch/s390/kernel/setup.c | |
parent | b6112ccbff5ec580d46b584ecc3c3a773b830da2 (diff) |
[S390] boot cputime accounting
Start the cpu time accounting very early to catch the cpu time spent
for the initial kernel setup. To make the output of /proc/uptime
match the sum of all cpu accounting values of the boot cpu reset
xtime and wall_to_monotonic to sane values based on the TOD clock.
The values set by timekeeping_init are off by up to a second.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/setup.c')
-rw-r--r-- | arch/s390/kernel/setup.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index 163bdfe5a6be..7402b6a39ead 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c | |||
@@ -434,6 +434,14 @@ setup_lowcore(void) | |||
434 | #else | 434 | #else |
435 | lc->vdso_per_cpu_data = (unsigned long) &lc->paste[0]; | 435 | lc->vdso_per_cpu_data = (unsigned long) &lc->paste[0]; |
436 | #endif | 436 | #endif |
437 | lc->sync_enter_timer = S390_lowcore.sync_enter_timer; | ||
438 | lc->async_enter_timer = S390_lowcore.async_enter_timer; | ||
439 | lc->exit_timer = S390_lowcore.exit_timer; | ||
440 | lc->user_timer = S390_lowcore.user_timer; | ||
441 | lc->system_timer = S390_lowcore.system_timer; | ||
442 | lc->steal_timer = S390_lowcore.steal_timer; | ||
443 | lc->last_update_timer = S390_lowcore.last_update_timer; | ||
444 | lc->last_update_clock = S390_lowcore.last_update_clock; | ||
437 | set_prefix((u32)(unsigned long) lc); | 445 | set_prefix((u32)(unsigned long) lc); |
438 | lowcore_ptr[0] = lc; | 446 | lowcore_ptr[0] = lc; |
439 | } | 447 | } |