UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Adventurer
Adventurer
96 Views
Registered: ‎12-26-2016

Why setting CPU_IDLE when PetaLinux won't boot?

Hi there,

in https://forums.xilinx.com/t5/Embedded-Linux/PetaLinux-does-not-finish-booting/td-p/823743 the suggested fix for a stopped boot was to disable CPU_IDLE in the kernel configuration. The thread may be closed but is not full answered yet.

This is the unanswered question from the above linked thread:

Could you explain what the problem is and how disabling CONFIG_CPU_IDLE fixes it?  I found and read another Xilinx forum thread titled Embedded linux system are not stable which discusses CONFIG_CPU_IDLE and the two answer records linked there:

AR# 69433 2017.1/2 Zynq UltraScale+ MPSoC: Linux kernel crash from EDAC driver - The work-around for this AR is different than the one you suggested.  However, Description #2 of this seems somewhat related to this problem in the following ways:

  • I have seen stall detection console output when I run the same kernel using QEMU, but not when booting on the ZCU102.
  • It mentions locking up during kernel boot, which matches this problem, however it states that it happens about 50% of the time, while I am seeing it 100% of the time.

AR# 69143 2017.1-2017.4 Zynq UltraScale+ MPSoC: Connecting XSDB to Linux CPU idle - The workaround for this AR is the same as you suggested above, but the symptom it describes relates to using the xsdb, which I am not using here.

 

Are these two separate issues or are they related issues and either work-around works?

 

Finally, AR# 69143 2017.1-2017.4 Zynq UltraScale+ MPSoC: Connecting XSDB to Linux CPU idle states "In the 2017.1-2017.4 release, Linux CPU Idle is enabled by default. When enabled, Linux powers down the CPU cores when they are idling (as opposed to WFI)."  This seems to be exposing some problem (kernel operation which takes too long?) which prevents PetaLinux from completing to boot.  In which case, shouldn't either:

Linux CPU Idle be disabled by default until the problem is fixed OR

the problem be documented in UG1209 and possibly other documents?

Which effects will have disabling CPU_IDLE on the overall system?

Cheers
Thomas

0 Kudos
1 Reply
Moderator
Moderator
22 Views
Registered: ‎12-04-2016

Re: Why setting CPU_IDLE when PetaLinux won't boot?

Hi @tmaintz 

Please look at this page from kernel open-source document (You can refer to "Idle States Control Via Kernel Command Line" in particular to understand implications in Linux systems)

https://www.kernel.org/doc/html/v5.0/admin-guide/pm/cpuidle.html

 

Best Regards

Shabbir

0 Kudos