Red Hat Bugzilla – Bug 232336
Enable use of PAL_HALT_LIGHT for idle loop as non-default option
Last modified: 2007-11-16 20:14:46 EST
Description of problem:
RHEL3 running as a fully virtualized HVM guest on Xen/ia64 consumes an entire
CPU because the idle loop is not virtualization friendly. This means that a
customer wanting to run RHEL3 as an HVM guest on RHEL5 will waste a lot of CPU
cycles. Customers running RHEL3 may want to take advantage of this for power
savings as well.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Run RHEL3 as an HVM guest on ia64
2. Run 'xm top' and watch the idle RHEL3 domain consume lots of CPU time
virtual CPUs are pegged
virtual CPUs should consume very little CPU time when idle
To avoid any interaction with the PMU or systems that have trouble with
PAL_HALT_LIGHT, I'm submitting this as a non-default option. With the
trivial patches I'll upload, the default behavior remains identical to
RHEL3u8. Only if the new boot option "palhalt" is used at boot time will
this feature be enabled.
Created attachment 150089 [details]
kernel patch to make palhalt boot option, also requires config change
Created attachment 150090 [details]
ia64 build config patch
Both this patch and the kernel patch are required for the complete change.
To test this, I built the U8 rpm plus the palhalt patch, then did 6 rounds of
bare metal 4-cpu 2.4.21-47.EL (baseline)
bare metal 4-cpu 2.4.21-47.EL.palhalt1 without palhalt on cmdline
bare metal 4-cpu 2.4.21-47.EL.palhalt1 with palhalt on cmdline
HVM 4-vcpu 2.4.21-47.EL (baseline)
HVM 4-vcpu 2.4.21-47.EL.palhalt1 without palhalt on cmdline
HVM 4-vcpu 2.4.21-47.EL.palhalt1 with palhalt on cmdline
For each test, I booted the kernel, then ran a kernel build in that
environment. On the HVM instances, I also recorded the CPU usage in
virt-manager while the domain was idle.
The build-time numbers vary wildly in this primitive test, so they
aren't very useful except that they don't throw up any red flags. The
interesting part is the HVM CPU usage when the domain is idle:
HVM baseline: 99.1% -- spinning all four cpus
HVM palhalt off: 99.1% -- same
HVM palhalt on: 1.9% -- virtualization friendly!
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release. Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products. This request is not yet committed for inclusion in an Update
A fix for this problem has just been committed to the RHEL3 U9
patch pool this evening (in kernel version 2.4.21-47.8.EL).
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.