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): 2.4.21-EL.47 How reproducible: Every time 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 3. Actual results: virtual CPUs are pegged Expected results: virtual CPUs should consume very little CPU time when idle Additional info: 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 testing: 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 release.
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. http://rhn.redhat.com/errata/RHSA-2007-0436.html