Bug 232336 - Enable use of PAL_HALT_LIGHT for idle loop as non-default option
Enable use of PAL_HALT_LIGHT for idle loop as non-default option
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: kernel (Show other bugs)
3.8
ia64 Linux
urgent Severity urgent
: ---
: ---
Assigned To: Aron Griffis
Martin Jenner
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-03-14 16:08 EDT by Alex Williamson
Modified: 2007-11-16 20:14 EST (History)
6 users (show)

See Also:
Fixed In Version: RHSA-2007-0436
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-06-11 13:59:41 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
kernel patch to make palhalt boot option, also requires config change (657 bytes, patch)
2007-03-14 16:08 EDT, Alex Williamson
no flags Details | Diff
ia64 build config patch (389 bytes, patch)
2007-03-14 16:10 EDT, Alex Williamson
no flags Details | Diff

  None (edit)
Description Alex Williamson 2007-03-14 16:08:41 EDT
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.
Comment 1 Alex Williamson 2007-03-14 16:08:41 EDT
Created attachment 150089 [details]
kernel patch to make palhalt boot option, also requires config change
Comment 2 Alex Williamson 2007-03-14 16:10:14 EDT
Created attachment 150090 [details]
ia64 build config patch

Both this patch and the kernel patch are required for the complete change.
Comment 4 Aron Griffis 2007-03-19 16:30:51 EDT
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!
Comment 6 RHEL Product and Program Management 2007-03-20 09:46:06 EDT
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.
Comment 8 Ernie Petrides 2007-03-22 21:20:09 EDT
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).
Comment 11 Red Hat Bugzilla 2007-06-11 13:59:41 EDT
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

Note You need to log in before you can comment on or make changes to this bug.