Hi,
I forgot Signed-off-by line.
Signed-off-by: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx>
Best Regards,
Akio Takebe
>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
>-------------------------------text/plain-------------------------------
>_______________________________________________
>Xen-ia64-devel mailing list
>Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
>http://lists.xensource.com/xen-ia64-devel
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|