Messages in this thread | | | From | Andy Shevchenko <> | Date | Thu, 31 May 2018 10:18:46 +0300 | Subject | Re: [RFC 1/2] printk: Enable platform to provide a early boot clock |
| |
On Wed, May 30, 2018 at 12:20 PM, Feng Tang <feng.tang@intel.com> wrote: > Currently printk timestamp mostly come from the sched_clock which > depends on the clock setup, so there are many kernel logs started > with "[ 0.000000] " before the clock is calibrated. > > This patch will provide an debug option for specific platform to > provide a early boot time clock, so that we can have time info in > kernel log much earlier, which can show the time info for the early > kernel boot, and make boottime tuning/optimization easier (boot time > is critical for phone/tablet and embedded devices). > > Capable platform only need to setup the "boot_printk_clock_fn" > which could return time in nano seconds. > > Together with a TSC patch on x86 system, we have easily captured > some early boottime killer like unwind_init() which takes about > 300ms in boot phase.
> +static u64 printk_clock(void) > +{ > + /* If platform provides early boot printk clock, then use it */ > + if (unlikely(system_state == SYSTEM_BOOTING && boot_printk_clock_fn)) > + return boot_printk_clock_fn(); > + else > + return local_clock();
'else' is redundant.
> +}
-- With Best Regards, Andy Shevchenko
| |