2013-10-31 05:29:25

by Younger Liu

[permalink] [raw]
Subject: Question: Takes about 2s in sched_clock_init() when kernel boots

Hi,
When I analyse boot time on ArmV7, I found that it takes
about 2s in sched_clock_init(), the log is as follow:
[ 0.000000] before:sched_clock_init.
[ 0.000000] start:sched_clock_init.
[ 2.100505] end :sched_clock_init.
[ 2.103983] before:calibrate_delay.

In my config, CONFIG_HAVE_UNSTABLE_SCHED_CLOCK does not config.

Are there any suggestions?

Younger


2013-10-31 06:13:27

by Xie XiuQi

[permalink] [raw]
Subject: Re: Question: Takes about 2s in sched_clock_init() when kernel boots

On 2013/10/31 13:29, Younger Liu wrote:
> Hi,
> When I analyse boot time on ArmV7, I found that it takes
> about 2s in sched_clock_init(), the log is as follow:
> [ 0.000000] before:sched_clock_init.
> [ 0.000000] start:sched_clock_init.
> [ 2.100505] end :sched_clock_init.
> [ 2.103983] before:calibrate_delay.
>
> In my config, CONFIG_HAVE_UNSTABLE_SCHED_CLOCK does not config.
>
> Are there any suggestions?

see below:
u64 sched_clock_cpu(int cpu)
{
struct sched_clock_data *scd;
u64 clock;

WARN_ON_ONCE(!irqs_disabled());

if (sched_clock_stable)
return sched_clock();

if (unlikely(!sched_clock_running))
return 0ull;

scd = cpu_sdc(cpu);
[...]

Unless sched_clock_running is set, it'll return 0. So, the
printk() time stamp is 0 before sched_clock_init calling.

>
> Younger
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
>