Messages in this thread | | | From | Pavel Tatashin <> | Subject | [PATCH v3 0/3] Early boot time stamps for arm64 | Date | Wed, 26 Dec 2018 11:45:06 -0500 |
| |
Changelog: 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.
x86: https://lore.kernel.org/lkml/20180719205545.16512-1-pasha.tatashin@oracle.com
sparc: https://www.spinics.net/lists/sparclinux/msg18063.html
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: https://paste.ubuntu.com/p/3pJ5kgJHyN
dmesg after: https://paste.ubuntu.com/p/RHKGVd9nSM
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(-)
-- 2.20.1
| |