Description of problem: The latest Xen hypervisor (3.1.2) adds all memory between 1M and 16M to its boot-time allocator pool, regardless of whether or not any of that memory is reserved by the BIOS. The earlier (3.1.0) hypersior paid strict attention to the e820 tables before adding any memory to the allocator pool. Version-Release number of selected component (if applicable): Xen 3.1.2 How reproducible: 100% Steps to Reproduce: 1. Boot machine 2. 3. Actual results: Expected results: Additional info: The outward sympton was first observed on a Stratus platform, which has a reserved BIOS area (256K located at 15M). After any SMI was triggered, the machine would slow down by a factor of 50 or so. It turns out that on return from SMI, the MTRRs had changed the cache policy on main memory from write-back, to write-through. Further investigation demonstrated that the reserved BIOS area was being corrupted by the hypervisor itself at boot time. The problem appears to have been introduced by the 15044 patch from upstream. This patch replaced code that paid attention to the e820 tables with this: + init_boot_pages(1<<20, 16<<20); /* Initial seed: 15MB */ That line adds all memory from 1M to 16M to the boot allocator. Not good.
Created attachment 277241 [details] Avoid handing reserved pages to the boot allocator Tested on 64-bit platform. Needs testing on 32-bit.
Chris - Please review this w/ XS folks and help work it upstream.
Patch for this is upstream on the Xen 3.1.3 branch: http://xenbits.xensource.com/xen-3.1-testing.hg?rev/9fb4696d37e4
Kimball, has this been POSTed yet? This looks like the last of the pieces that are needed for full enablement of Stratus systems...
Andrius, Kimball and I just finished a last round of testing on this; there were some bits that had to make it upstream, which they finally did this weekend. I expect to post the patches tomorrow. Chris Lalancette
Chris/Kimball -- How is this looking to make Beta?
It looks like Kimball's original patch was included in the latest build, so it should make beta. Chris Lalancette
Hi Chris, great news. Can you post what version of the build it made, and wouldn't this mean this is in MODIFIED state as well? Thanks!
in 2.6.18-71.el5 You can download this test kernel from http://people.redhat.com/dzickus/el5
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/RHBA-2008-0314.html