[PATCH v3 0/3] Early boot time stamps for arm64

From: Pavel Tatashin
Date: Wed Dec 26 2018 - 11:45:31 EST

v2 - v3
Addressed comments from Will Deacon: split into three
patches, removed hardcoded assumption from vdso, don't
assign arch_timer_read_counter during early boot.
v1 - v2
Addressed comments from Marc Zyngier

I made early boot time stamps available for SPARC and X86.



As discussed at plumbers, I would like to add the same for arm64. The
implementation does not have to be perfect, and should work only when early
clock is easy to determine. arm64 defines a clock register, and thus makes
it easy, but on some platforms frequency register is broken, so if it is
not known, simply don't initialize clock early.

dmesg before:

dmesg after:

As seen from the above with base smp_init is finished after 0.47s:
[ 0.464585] SMP: Total of 8 processors activated.

But, in reality, 3.2s is missing which is a quiet long considering this is
only 60G domain.

Pavel Tatashin (3):
arm_arch_timer: add macro for timer nbits
arm64: vdso: Use ARCH_TIMER_NBITS to calculate mask
arm64: Early boot time stamps

arch/arm64/kernel/asm-offsets.c | 1 +
arch/arm64/kernel/setup.c | 25 +++++++++++++++++++++++++
arch/arm64/kernel/vdso/gettimeofday.S | 3 +--
drivers/clocksource/arm_arch_timer.c | 8 ++++----
include/clocksource/arm_arch_timer.h | 3 +++
5 files changed, 34 insertions(+), 6 deletions(-)