Hi all,
I was trying to obtain a faster boot time. To do so, I followed this post CPU Clock frequency at boot time - Nvidia Jetson TK1 - Jetson TK1 - NVIDIA Developer Forums and configured the kernel with the relevant option “CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y”.
However, during boot I saw a lot of warnings, and the boot time actually went up!
Example of warning:
[ 7.227089] cpu-tegra: Failed to set cpu frequency to 1963500 kHz
[ 7.233232] ------------[ cut here ]------------
[ 7.237867] WARNING: at /home/build/yocto/build-safeboot/tmp/work-shared/horus-revB/kernel-source/arch/arm/mach-tegra/tegra12_clocks.c:15)
[ 7.253762] Increasing CPU rate while regulator is not ready is not allowed
[ 7.260730] Modules linked in:
[ 7.263839] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W 3.10.40+g7300b2c #1
[ 7.271600] [<c0016774>] (unwind_backtrace+0x0/0x134) from [<c0012f9c>] (show_stack+0x18/0x1c)
[ 7.280230] [<c0012f9c>] (show_stack+0x18/0x1c) from [<c006554c>] (warn_slowpath_common+0x5c/0x74)
[ 7.289197] [<c006554c>] (warn_slowpath_common+0x5c/0x74) from [<c006559c>] (warn_slowpath_fmt+0x38/0x48)
[ 7.298779] [<c006559c>] (warn_slowpath_fmt+0x38/0x48) from [<c00470f4>] (tegra12_cpu_clk_set_rate+0x17c/0x4d8)
[ 7.308885] [<c00470f4>] (tegra12_cpu_clk_set_rate+0x17c/0x4d8) from [<c002790c>] (clk_set_rate_locked+0xe4/0x2fc)
[ 7.319239] [<c002790c>] (clk_set_rate_locked+0xe4/0x2fc) from [<c00437fc>] (tegra12_cpu_cmplx_clk_set_rate+0x50/0xc0)
[ 7.329946] [<c00437fc>] (tegra12_cpu_cmplx_clk_set_rate+0x50/0xc0) from [<c002790c>] (clk_set_rate_locked+0xe4/0x2fc)
[ 7.340646] [<c002790c>] (clk_set_rate_locked+0xe4/0x2fc) from [<c0027b9c>] (clk_set_rate+0x78/0x1c8)
[ 7.349876] [<c0027b9c>] (clk_set_rate+0x78/0x1c8) from [<c004a958>] (tegra_update_cpu_speed+0x170/0x310)
[ 7.359467] [<c004a958>] (tegra_update_cpu_speed+0x170/0x310) from [<c004aed8>] (tegra_cpu_set_speed_cap_locked+0x8c/0xbc)
[ 7.370515] [<c004aed8>] (tegra_cpu_set_speed_cap_locked+0x8c/0xbc) from [<c004b4c0>] (tegra_target+0x74/0x90)
[ 7.380526] [<c004b4c0>] (tegra_target+0x74/0x90) from [<c05b700c>] (__cpufreq_driver_target+0xdc/0x2f0)
[ 7.390014] [<c05b700c>] (__cpufreq_driver_target+0xdc/0x2f0) from [<c05badc8>] (cpufreq_governor_performance+0x50/0x6c)
[ 7.400894] [<c05badc8>] (cpufreq_governor_performance+0x50/0x6c) from [<c05b8764>] (__cpufreq_governor+0x98/0x22c)
[ 7.411341] [<c05b8764>] (__cpufreq_governor+0x98/0x22c) from [<c05b8bbc>] (__cpufreq_set_policy+0x2c4/0x354)
[ 7.421261] [<c05b8bbc>] (__cpufreq_set_policy+0x2c4/0x354) from [<c05b8d38>] (cpufreq_update_policy+0xec/0x17c)
[ 7.431449] [<c05b8d38>] (cpufreq_update_policy+0xec/0x17c) from [<c0b77a50>] (cpufreq_stats_init+0x78/0xe4)
[ 7.441282] [<c0b77a50>] (cpufreq_stats_init+0x78/0xe4) from [<c0008730>] (do_one_initcall+0xdc/0x198)
[ 7.450602] [<c0008730>] (do_one_initcall+0xdc/0x198) from [<c0b3cbe4>] (kernel_init_freeable+0x13c/0x1dc)
[ 7.460271] [<c0b3cbe4>] (kernel_init_freeable+0x13c/0x1dc) from [<c08087ec>] (kernel_init+0x14/0x168)
[ 7.469616] [<c08087ec>] (kernel_init+0x14/0x168) from [<c000f118>] (ret_from_fork+0x14/0x20)
[ 7.478150] ---[ end trace 23db40cd45bd62a6 ]---
I do understand the nature of the error (regulator not being ready), but how do I achieve a faster boot if the regulator is not ready? Is there something else to tweak?
I’m working on a custom distro built with Yocto, kernel sources are L4T 21.5.
Thanks!