Wind River Support Network

HomeDefectsOVP-1806
Fixed

OVP-1806 : Documentation should mention that leaving C States enabled in the BIOS can cause High CPU utilization

Created: Apr 22, 2014    Updated: Mar 11, 2016
Resolved Date: May 20, 2014
Found In Version: 5.0.1.13
Fix Version: 5.0.1.16
Severity: Standard
Applicable for: Wind River Linux 5
Component/s: Documentation
Architecture: Xeon

Description

When running an OVP host build at idle on a Hanlan Creek system, I found that the first 4-5 cores were heavily loaded with ksoftirqd related tasks calling  default_send_IPI_mask_sequence_phys(...).
Through experimentation I found that disabling the default enabled C6 states in the BIOS utility fixed the problem.

In studying the "wr_linux_ovp_virtual_node_users_guide_5 0 1.pdf" V5.0.1 manual, pages 84-85, I discovered that some of this was mentioned, but the problem is:
1.	It is not mentioned early enough/prominently enough in the manual. Users work from front to back.
2.	It doesn’t mention that several cores could be heavily loaded just due to having a C State enabled.

Please document these problems and the workarounds earlier and more prominently in the manual.

Workaround

1. Disable all C states (especially C6) in the BIOS utility.
    OR
2. Set the following configuration parameters in the host kernel configuration:
CONFIG_ACPI=y
CONFIG_INTEL_IDLE=y

The second workaround has not been tested by me.

Steps to Reproduce

1. Run on S5520HC system

2. Set BIOS to optimized defaults and turn on VT-d. Note that C3 is disabled but C6 is enabled.

3. Build and deploy host with built-in guest:
> *_(1) Guest build:_*
> Had to add PREFERRED_VERSION_dpdk ?= "1.5.0-12" to 
> ./layers/wr-ovp/ovp/conf/layers.conf, just after 
> PREFERRED_PROVIDER_java2-vm ?= "openjdk-7-jre"
> Platform project: "OVP_guest_V1"
> /home/demo/WindRiver/wrlinux-5/wrlinux/configure \ --enable-reconfig \ 
> --with-layer=wr-intel-support,/home/demo/WindRiverINP34/inp-3.4/layers/wr-inp \
> --enable-board=x86-64-kvm-guest \
> --with-template=feature/rt-latency,feature/kvm,feature/inp,feature/target-toolchain,feature/intel-qat,feature/intel-dpdk,feature/dpdk-vswitch \
> --enable-rootfs=ovp-guest+initramfs \
> --enable-bootimage=ext3 \
> --enable-addons=wr-ovp \
> --enable-jobs=8 \
> --enable-parallel-pkgbuilds=8 \
> --with-sstate-dir=/home/demo/WindRiver/SSTATE_DIR
> make fs

> *_(2) Host build:_*
> Had to add PREFERRED_VERSION_dpdk ?= "1.5.0-12" to 
> ./layers/wr-ovp/ovp/conf/layers.conf, just after 
> PREFERRED_PROVIDER_java2-vm ?= "openjdk-7-jre"
> Platform Project: "plat_OVP_V1"
> /home/demo/WindRiver/wrlinux-5/wrlinux/configure \ --enable-reconfig \ 
> --enable-rootfs=ovp-network-node \ --enable-addons=wr-ovp \ 
> --with-template=feature/rt-tune,feature/target-toolchain,feature/intel
> -qat,feature/intel-dpdk,feature/dpdk-vswitch \
> --enable-kernel=preempt_rt \
> --enable-board=intel-xeon-core \
> --enable-jobs=8 \
> --enable-parallel-pkgbuilds=8 \
> --with-sstate-dir=/home/demo/WindRiver/SSTATE_DIR \ 
> --with-layer=wr-intel-support,wr-kvm-binary-guest-images \ 
> --with-kvm-guest-kernel=/home/demo/WindRiver/workspaceOVP/OVP_guest_V1/export/images/bzImage-x86-64-kvm-guest.bin \
> --with-kvm-guest-img=/home/demo/WindRiver/workspaceOVP/OVP_guest_V1/export/images/wrlinux-image-ovp-guest-x86-64-kvm-guest.ext3 \
> --enable-stand-alone-project=no \
> --enable-checkout-all-layers=yes
> # Build SE Linux Policy (1023 steps)
> make -C build refpolicy-targeted-ovp-host-isolation.rebuild
> make fs

4. Deploy and run the host (no need to start the guest) and observe high CPU utilization on the first 4-5 cores.

5. Try turning off C3 and C6 (turn off all C States) in the BIOS utility and see if the problem disappears.

6. Turn C6 back on and try rebuilding Host Kernel with these parameters as described on page 85 of the manual:
CONFIG_ACPI=y
CONFIG_INTEL_IDLE=y
See if the problem disappears.

Document the problems and workarounds earlier and more prominently in the manual.

Live chat
Online