[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-ia64-devel] [Patch] Pass the bare LSAPIC ID to dom0
Hi, all This patch fix a issue which dom0 cannot boot with dom0_max_vcpus. Currently LSAPIC IDs are create by xen, but ACPI SRAT table is the bare table. So on some boxes node_cpuid[].phys_id are different from cpu_physical_id()s, and we cannot boot dom0. I think xen should pass the bare LSAPIC ID to dom0. How about you? Detail; I added the debug printks in build_cpu_to_node_map() on dom0, and get the following message. build_cpu_to_node_map: node_cpuid[0].phys_id=0 cpu_physical_id(0)=0 build_cpu_to_node_map: node_cpuid[1].phys_id=1024 cpu_physical_id(1)=256 build_cpu_to_node_map: node_cpuid[2].phys_id=768 cpu_physical_id(2)=512 build_cpu_to_node_map: node_cpuid[3].phys_id=1792 cpu_physical_id(3)=768 build_cpu_to_node_map: node_cpuid[4].phys_id=32768 cpu_physical_id(4)=1024 build_cpu_to_node_map: node_cpuid[5].phys_id=33792 cpu_physical_id(5)=1280 build_cpu_to_node_map: node_cpuid[6].phys_id=33536 cpu_physical_id(6)=1536 build_cpu_to_node_map: node_cpuid[7].phys_id=34560 cpu_physical_id(7)=1792 build_cpu_to_node_map: node_cpuid[8].phys_id=1 cpu_physical_id(8)=-1 build_cpu_to_node_map: node_cpuid[9].phys_id=1025 cpu_physical_id(9)=-1 build_cpu_to_node_map: node_cpuid[10].phys_id=769 cpu_physical_id(10)=-1 build_cpu_to_node_map: node_cpuid[11].phys_id=1793 cpu_physical_id(11)=-1 build_cpu_to_node_map: node_cpuid[12].phys_id=32769 cpu_physical_id(12)=-1 build_cpu_to_node_map: node_cpuid[13].phys_id=33793 cpu_physical_id(13)=-1 build_cpu_to_node_map: node_cpuid[14].phys_id=33537 cpu_physical_id(14)=-1 build_cpu_to_node_map: node_cpuid[15].phys_id=34561 cpu_physical_id(15)=-1 At that time, some cpus cannot get node id like the below. build_cpu_to_node_map: cpu=0 node_cpuid[0].phys_id=0 is , node=0 build_cpu_to_node_map: cpu=1, node=-1 build_cpu_to_node_map: cpu=2, node=-1 build_cpu_to_node_map: cpu=3 node_cpuid[2].phys_id=768 is , node=0 build_cpu_to_node_map: cpu=4 node_cpuid[1].phys_id=1024 is , node=0 build_cpu_to_node_map: cpu=5, node=-1 build_cpu_to_node_map: cpu=6, node=-1 build_cpu_to_node_map: cpu=7 node_cpuid[3].phys_id=1792 is , node=0 build_cpu_to_node_map: cpu=8, node=-1 build_cpu_to_node_map: cpu=9, node=-1 build_cpu_to_node_map: cpu=10, node=-1 build_cpu_to_node_map: cpu=11, node=-1 build_cpu_to_node_map: cpu=12, node=-1 build_cpu_to_node_map: cpu=13, node=-1 build_cpu_to_node_map: cpu=14, node=-1 build_cpu_to_node_map: cpu=15, node=-1 Finally, dom0 get NULL pointer access like the below. ELILO boot: Uncompressing Linux... done Loading file initrd-2.6.18-xen.img-takebe...done Loading file vmlinuz-2.6.18-xen-takebe...done Uncompressing... done __ __ _____ ___ _ _ _ \ \/ /___ _ __ |___ / / _ \ _ _ _ __ ___| |_ __ _| |__ | | ___ \ // _ \ '_ \ |_ \| | | |__| | | | '_ \/ __| __/ _` | '_ \| |/ _ \ / \ __/ | | | ___) | |_| |__| |_| | | | \__ \ || (_| | |_) | | __/ /_/\_\___|_| |_| |____(_)___/ \__,_|_| |_|___/\__\__,_|_.__/|_|\___| http://www.cl.cam.ac.uk/netos/xen University of Cambridge Computer Laboratory Xen version 3.0-unstable (root@xxxxxxxxxxxxxxxx) () Thu Jul 12 21:57:50 JST 2007 Latest ChangeSet: Wed Jul 11 11:32:30 2007 -0600 15558:f536eb8576ee (XEN) Xen command line: BOOT_IMAGE=scsi0:EFI\redhat\xen.gz-takebe dom0_mem=8G dom0_max_vcpus=8 (XEN) xen image pstart: 0x4000000, xenheap pend: 0x8000000 (XEN) Xen patching physical address access by offset: 0x0 (XEN) find_memory: efi_memmap_walk returns max_page=5400000 (XEN) Before xen_heap_start: f0000000041c6fb0 (XEN) After xen_heap_start: f000000004c4c000 (XEN) Init boot pages: 0x10000d8 -> 0x4000000. (XEN) Init boot pages: 0x8000000 -> 0x69cf0000. (XEN) Init boot pages: 0x6ac6d098 -> 0x6b290010. (XEN) Init boot pages: 0x6b290070 -> 0x6b293fb0. (XEN) Init boot pages: 0x6b293ff9 -> 0x6b296000. (XEN) Init boot pages: 0x6b48d37d -> 0x6b49a010. (XEN) Init boot pages: 0x6b49a6a0 -> 0x6d000000. (XEN) Init boot pages: 0x100000000 -> 0x1000000000. (XEN) Init boot pages: 0x4080000000 -> 0x4100000000. (XEN) Init boot pages: 0x14004000000 -> 0x15000000000. (XEN) System RAM: 130688MB (133824512kB) (XEN) size of virtual frame_table: 326928kB (XEN) virtual machine to physical table: f6ffffffd6000000 size: 65424kB (XEN) max_page: 0x5400000 (XEN) allocating frame table/mpt table at mfn 0. (XEN) Xen heap: 51MB (52944kB) (XEN) Reserving non-aligned node boundary @ mfn 262144 (XEN) Reserving non-aligned node boundary @ mfn 16908288 (XEN) Domain heap initialised: DMA width 32 bits (XEN) avail:0x3170074000000000, status:0x74000000000,control:0x3170000000000000, vm?0x10000000000 (XEN) WARNING: no opcode provided from hardware(0)!!! (XEN) vm buffer size: 1048576, order: 6 (XEN) vm_buffer: 0xf000000004d00000 (XEN) Using scheduler: SMP Credit Scheduler (credit) (XEN) Time init: (XEN) .... System Time: 217700ns (XEN) .... scale: 28000001A (XEN) num_online_cpus=1, max_cpus=64 (XEN) Brought up 16 CPUs (XEN) xenoprof: using perfmon. (XEN) perfmon: version 2.0 IRQ 238 (XEN) perfmon: Montecito PMU detected, 27 PMCs, 35 PMDs, 12 counters (47 bits) (XEN) Maximum number of domains: 63; 18 RID bits per domain (XEN) *** LOADING DOMAIN 0 *** (XEN) Dom0 kernel: 64-bit, lsb, paddr 0x4000000 -> 0x53a6028 (XEN) METAPHYSICAL MEMORY ARRANGEMENT: (XEN) Kernel image: 4000000->53a6028 (XEN) Entry address: 400ff20 (XEN) Init. ramdisk: 53ac000 len 1f737d (XEN) Start info.: 53a8000->53ac000 (XEN) Dom0 max_vcpus=8 (XEN) Dom0: 0xf000000007d54080 (XEN) enable lsapic entry: 0xf00000007f92e7e4 (XEN) enable lsapic entry: 0xf00000007f92e7f0 (XEN) enable lsapic entry: 0xf00000007f92e7fc (XEN) enable lsapic entry: 0xf00000007f92e808 (XEN) enable lsapic entry: 0xf00000007f92e814 (XEN) enable lsapic entry: 0xf00000007f92e820 (XEN) enable lsapic entry: 0xf00000007f92e82c (XEN) enable lsapic entry: 0xf00000007f92e838 (XEN) DISABLE lsapic entry: 0xf00000007f92e844 (XEN) DISABLE lsapic entry: 0xf00000007f92e850 (XEN) DISABLE lsapic entry: 0xf00000007f92e85c (XEN) DISABLE lsapic entry: 0xf00000007f92e868 (XEN) DISABLE lsapic entry: 0xf00000007f92e874 (XEN) DISABLE lsapic entry: 0xf00000007f92e880 (XEN) DISABLE lsapic entry: 0xf00000007f92e88c (XEN) DISABLE lsapic entry: 0xf00000007f92e898 (XEN) ACPI_INTERRUPT_CPEI disabled for Domain0 (XEN) Domain0 EFI passthrough: ACPI 2.0=0x7f924000 SMBIOS=0xf0000 (XEN) Scrubbing Free RAM: .................................. ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ ............................................................ .............................! ........................................................... ............................................................ ............................................................ ............................................................................... done. (XEN) Xen trace buffers: disabled (XEN) Std. Loglevel: Errors and warnings (XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings) (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen). (XEN) Freed 128kB init memory. (XEN) vcpu_set_itc: Setting ar.itc is currently disabled (this message is only displayed once) Linux version 2.6.18-xen (root@xxxxxxxxxxxxxxxxxxxxxxxxxxxx) (gcc バージョン 4.1. 1 20070105 (Red Hat 4.1.1-52)) #6 SMP Fri Jul 13 01:01:11 JST 2007 EFI v1.00 by Xen/ia64: SALsystab=0x2178 ACPI 2.0=0x7f924000 SMBIOS=0xf0000 booting generic kernel on platform dig Number of logical nodes in system = 2 Number of memory chunks in system = 5 Initial ramdisk at: 0xe0000000053ac000 (2061181 bytes) SAL 0.1: Xen/ia64 Xen/ia64 version 0.0 SAL: AP wakeup using external interrupt vector 0xf3 No logical to physical processor mapping available ACPI: Local APIC address c0000000fee00000 iosapic_register_platform_intr: invalid int type 0xff 8 CPUs available, 16 CPUs total Running on Xen! start_info_pfn=0x14ea nr_pages=524288 flags=0x3 MCA related initialization done Virtual mem_map starts at 0xa0007ffffdc04000 SMP: Allowing 16 CPUs, 8 hotplug CPUs Built 2 zonelists. Total pages: 518806 Kernel command line: rhgb root=LABEL=/ ro PID hash table entries: 4096 (order: 12, 32768 bytes) Console: colour VGA+ 80x25 Placing software IO TLB between 0x55a4000 - 0x95a4000 Memory: 8201712k/8300896k available (10915k code, 121360k reserved, 4877k data, 672k init) McKinley Errata 9 workaround not needed; disabling it Dentry cache hash table entries: 1048576 (order: 9, 8388608 bytes) Inode-cache hash table entries: 524288 (order: 8, 4194304 bytes) Mount-cache hash table entries: 1024 ACPI: Core revision 20060707 Boot processor id 0x0/0x0 Fixed BSP b0 value from CPU 1 CPU 1: synchronized ITC with CPU 0 (last diff -1 cycles, maxerr 139 cycles) CPU 2: synchronized ITC with CPU 0 (last diff 4 cycles, maxerr 139 cycles) CPU 3: synchronized ITC with CPU 0 (last diff 2 cycles, maxerr 391 cycles) CPU 4: synchronized ITC with CPU 0 (last diff 5 cycles, maxerr 574 cycles) CPU 5: synchronized ITC with CPU 0 (last diff 5 cycles, maxerr 574 cycles) CPU 6: synchronized ITC with CPU 0 (last diff 5 cycles, maxerr 574 cycles) CPU 7: synchronized ITC with CPU 0 (last diff 4 cycles, maxerr 573 cycles) Brought up 8 CPUs Total of 8 processors activated (25473.84 BogoMIPS). Unable to handle kernel NULL pointer dereference (address 0000000000000000) swapper[1]: Oops 11012296146944 [1] Modules linked in: Pid: 1, CPU 0, comm: swapper psr : 00001210085a6010 ifs : 8000000000000001 ip : [<a000000100075431>] Not tainted ip is at sd_degenerate+0x71/0xc0 unat: 0000000000000000 pfs : 400000000000048a rsc : 0000000000000007 rnat: a000000100041ee0 bsps: 0000000000000000 pr : 0000000000009941 ldrs: 0000000000000000 ccv : 0000000000000001 fpsr: 0009804c8a70433f csd : 0000000000000000 ssd : 0000000000000000 b0 : a000000100075510 b6 : a000000100072b60 b7 : a000000100072b60 f6 : 1003e0000000000000000 f7 : 1003e000000000000000e f8 : 1003e0000000000000200 f9 : 000000000000000000000 f10 : 000000000000000000000 f11 : 000000000000000000000 r1 : a000000101143620 r2 : 0000000000000099 r3 : e0000000011154a8 r8 : 0000000000000000 r9 : 000000000000004d r10 : e000000001115484 r11 : 0000000000000000 r12 : e000000102f0fcf0 r13 : e000000102f08000 r14 : 0000000000000004 r15 : 0000000000000040 r16 : ffffffffffff5430 r17 : 0000000000000030 r18 : 0000000000000030 r19 : 00000000000000fd r20 : e0000000011054a8 r21 : 0000000000000000 r22 : Best Regards, Akio Takebe Attachment:
fix_apic.patch _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |