The following patches introduce a debug feature, accurate timestamps on all kernel logs during boot.
At the moment until time is set up in the kernel, all logs are timestamped [0.000000] giving the impression these early boot activities have no duration. That's far from the case.
These patches give accurate, monotonic timestamps from the very first log entry allowing insight into where the time is going during the whole of the boot process.
It's a debug feature like DEBUG_LL, it does not cooperate with ARCH_MULTIPLATFORM (it works with such a kernel though) but can only be enabled for a single platform at compile-time.
To use it, you need an ARM SoC with a globaltimer, which is very common now. Even if the globaltimer is used by the kernel, we can use it in early boot and stop using it as soon as a normal time source is set up, so there's no conflict.
There are more details on how to use it and examples of the results in the second patch.
---
Andy Green (2): scheduler: time: allow arch-specific time offset function arm: time: add globaltimer-based arch_early_time
arch/arm/Kconfig | 4 +++ arch/arm/Kconfig.debug | 35 ++++++++++++++++++++++++++ arch/arm/kernel/head.S | 65 ++++++++++++++++++++++++++++++++++++++++++++++++ arch/arm/kernel/time.c | 41 ++++++++++++++++++++++++++++++ include/linux/time.h | 6 ++++ kernel/sched/clock.c | 12 ++++----- 6 files changed, 157 insertions(+), 6 deletions(-)