Messages in this thread | | | From | Pavel Tatashin <> | Subject | [PATCH v6 0/4] Early boot time stamps for x86 | Date | Wed, 30 Aug 2017 14:03:21 -0400 |
| |
changelog --------- v5 - v6 - Added a new patch: time: sync read_boot_clock64() with persistent clock Which fixes missing __init macro, and enabled time discrepancy fix that was noted by Thomas Gleixner - Split "x86/time: read_boot_clock64() implementation" into a separate patch v4 - v5 - Fix compiler warnings on systems with stable clocks. v3 - v4 - Fixed tsc_early_fini() call to be in the 2nd patch as reported by Dou Liyang - Improved comment before __use_sched_clock_early to explain why we need both booleans. - Simplified valid_clock logic in read_boot_clock64().
v2 - v3 - Addressed comment from Thomas Gleixner - Timestamps are available a little later in boot but still much earlier than in mainline. This significantly simplified this work. v1 - v2 In patch "x86/tsc: tsc early": - added tsc_adjusted_early() - fixed 32-bit compile error use do_div()
Adding early boot time stamps support for x86 machines. SPARC patches for early boot time stamps are already integrated into mainline linux.
Sample output ------------- Before: https://hastebin.com/jadaqukubu.scala
After: https://hastebin.com/nubipozacu.scala
For more exaples how early time stamps are used, see this work: https://lwn.net/Articles/732233/
As seen above, currently timestamps are available from around the time when "Security Framework" is initialized. But, 26s already passed until we reached to this point. Pavel Tatashin (2): sched/clock: interface to allow timestamps early in boot x86/tsc: use tsc early
Pavel Tatashin (4): sched/clock: interface to allow timestamps early in boot time: sync read_boot_clock64() with persistent clock x86/time: read_boot_clock64() implementation x86/tsc: use tsc early
arch/arm/kernel/time.c | 2 +- arch/s390/kernel/time.c | 2 +- arch/x86/include/asm/tsc.h | 4 +++ arch/x86/kernel/setup.c | 10 +++++-- arch/x86/kernel/time.c | 31 ++++++++++++++++++++++ arch/x86/kernel/tsc.c | 47 +++++++++++++++++++++++++++++++++ include/linux/sched/clock.h | 4 +++ include/linux/timekeeping.h | 10 +++---- kernel/sched/clock.c | 63 ++++++++++++++++++++++++++++++++++++++++++++- kernel/time/timekeeping.c | 8 ++++-- 10 files changed, 169 insertions(+), 12 deletions(-)
-- 2.14.1
| |