From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ryan Harper Subject: numa=on broken Date: Fri, 30 Mar 2007 12:34:32 -0500 Message-ID: <20070330173432.GR28736@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Testing the latest xen-unstable bits, booting with numa=on fails: (XEN) Command line: /boot/xen.gz com1=115200,8n1 console=com1 conswitch=x numa=on (XEN) Physical RAM map: (XEN) 0000000000000000 - 000000000009d000 (usable) (XEN) 000000000009dc00 - 00000000000a0000 (reserved) (XEN) 00000000000d0000 - 0000000000100000 (reserved) (XEN) 0000000000100000 - 00000000dff60000 (usable) (XEN) 00000000dff60000 - 00000000dff72000 (ACPI data) (XEN) 00000000dff72000 - 00000000dff80000 (ACPI NVS) (XEN) 00000000dff80000 - 00000000e0000000 (reserved) (XEN) 00000000fec00000 - 00000000fec00400 (reserved) (XEN) 00000000fee00000 - 00000000fee01000 (reserved) (XEN) 00000000fff80000 - 0000000100000000 (reserved) (XEN) 0000000100000000 - 0000000200000000 (usable) (XEN) System RAM: 7678MB (7863284kB) (XEN) ACPI: RSDP (v002 PTLTD ) @ 0x00000000000f7170 (XEN) ACPI: XSDT (v001 PTLTD XSDT 0x06040000 LTP 0x00000000) @ 0x00000000dff6d116 (XEN) ACPI: FADT (v003 AMD HAMMER 0x06040000 PTEC 0x000f4240) @ 0x00000000dff71d0f (XEN) ACPI: SRAT (v001 AMD HAMMER 0x06040000 AMD 0x00000001) @ 0x00000000dff71e03 (XEN) ACPI: MADT (v001 PTLTD APIC 0x06040000 LTP 0x00000000) @ 0x00000000dff71ecb (XEN) ACPI: ASF! (v016 MBI CETP 0x06040000 PTL 0x00000001) @ 0x00000000dff71f59 (XEN) ACPI: DSDT (v001 AMD-K8 AMDACPI 0x06040000 MSFT 0x0100000e) @ 0x0000000000000000 (XEN) SRAT: PXM 0 -> APIC 0 -> Node 0 (XEN) SRAT: PXM 1 -> APIC 1 -> Node 1 (XEN) SRAT: Node 0 PXM 0 0-a0000 (XEN) SRAT: Node 0 PXM 0 0-e0000000 (XEN) SRAT: Node 1 PXM 1 100000000-200000000 (XEN) NUMA: Using 32 for the hash shift. (XEN) Cannot handle page request order 0! (XEN) Cannot handle page request order 2! (XEN) Reserving non-aligned node boundary @ mfn 1048576 (XEN) Cannot handle page request order 0! (XEN) Cannot handle page request order 2! (XEN) Cannot handle page request order 0! (XEN) Cannot handle page request order 2! (XEN) Cannot handle page request order 0! (XEN) Cannot handle page request order 2! (XEN) Unknown interrupt Looking a little deeper, it looks like in end_boot_allocator() we are attempting to dynamically allocate memory for addition arrays in avail[] and for the heap. This uses xmalloc() which relies on alloc_xenheap_pages() to work. alloc_xenheap_pages() can't function until end_boot_allocator() completes. Prior to end_boot_alloctor(), one needs to use alloc_boot_pages(). Any thoughts on how to proceed here? -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com