Re: [RFC 1/2] printk: Enable platform to provide a early boot clock
From: Randy Dunlap
Date: Thu May 31 2018 - 13:23:11 EST
On 05/31/2018 12:18 AM, Andy Shevchenko wrote:
> On Wed, May 30, 2018 at 12:20 PM, Feng Tang <feng.tang@xxxxxxxxx> 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.
So it is. Is this a style comment?
This shouldn't matter to a smart compiler, should it?
>> +}
thanks,
--
~Randy