[Libvir] [RFC][PATCH 1/2] Tested NUMA patches for available memory and topology

Patch for accessing available memory. -- Elizabeth Kon (Beth) IBM Linux Technology Center Open Hypervisor Team email: eak@us.ibm.com

beth kon wrote:
Patch for accessing available memory.
--- libvirt.danielpatch/src/driver.h 2007-09-11 15:29:43.000000000 -0400 +++ libvirt.cellsMemory/src/driver.h 2007-09-27 18:39:52.000000000 -0400 @@ -258,8 +258,9 @@ typedef virDriver *virDriverPtr; typedef int (*virDrvNodeGetCellsFreeMemory) (virConnectPtr conn, - unsigned long *freeMems, - int nbCells); + long long *freeMems, This needs to be declared unsigned long long. If you configure with --enable-compile-warnings=error then the compiler will catch these sorts of errors. --- libvirt.danielpatch/src/xend_internal.c 2007-09-10 17:35:39.000000000 -0400 +++ libvirt.cellsMemory/src/xend_internal.c 2007-09-27 18:39:52.000000000 -0400 @@ -1954,6 +1954,8 @@ xenDaemonOpen(virConnectPtr conn, const { xmlURIPtr uri = NULL; int ret; + + virNodeInfo nodeInfo; This variable is never used. [ And from part 2/2 of the patch ] + * getNumber: sscanf? [ And in general ] I compiled this version & was hoping to test it, but I don't seem to have the right combination of Xen to make it work. At least I don't see any <topology> section in the XML capabilities. What patches do I need for Xen to make this work? I have a 2 socket AMD machine which I assume should work with this. Rich. -- Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/ Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 03798903

Richard W.M. Jones wrote:
beth kon wrote:
Patch for accessing available memory.
--- libvirt.danielpatch/src/driver.h 2007-09-11 15:29:43.000000000 -0400 +++ libvirt.cellsMemory/src/driver.h 2007-09-27 18:39:52.000000000 -0400 @@ -258,8 +258,9 @@ typedef virDriver *virDriverPtr; typedef int (*virDrvNodeGetCellsFreeMemory) (virConnectPtr conn, - unsigned long *freeMems, - int nbCells); + long long *freeMems,
This needs to be declared unsigned long long. If you configure with --enable-compile-warnings=error then the compiler will catch these sorts of errors.
--- libvirt.danielpatch/src/xend_internal.c 2007-09-10 17:35:39.000000000 -0400 +++ libvirt.cellsMemory/src/xend_internal.c 2007-09-27 18:39:52.000000000 -0400 @@ -1954,6 +1954,8 @@ xenDaemonOpen(virConnectPtr conn, const { xmlURIPtr uri = NULL; int ret; + + virNodeInfo nodeInfo;
This variable is never used.
[ And from part 2/2 of the patch ]
+ * getNumber:
sscanf?
The reason I created this is because I also wanted to find the length of the segment so I could add it to the parsing offset to check what was next in the string. That level of checking may be unnecessary (overkill), and in any case could be more easily achieved using something like sscanf for some token portion of the string. As I said, I am *certain* there is a prettier way to do this!
[ And in general ]
I compiled this version & was hoping to test it, but I don't seem to have the right combination of Xen to make it work. At least I don't see any <topology> section in the XML capabilities. What patches do I need for Xen to make this work? I have a 2 socket AMD machine which I assume should work with this.
Daniel has built the kernel and xen rpms with the needed patches.
Rich.
-- Elizabeth Kon (Beth) IBM Linux Technology Center Open Hypervisor Team email: eak@us.ibm.com

On Fri, Sep 28, 2007 at 06:42:10AM -0400, beth kon wrote:
Richard W.M. Jones wrote:
beth kon wrote:
Patch for accessing available memory.
--- libvirt.danielpatch/src/driver.h 2007-09-11 15:29:43.000000000 -0400 +++ libvirt.cellsMemory/src/driver.h 2007-09-27 18:39:52.000000000 -0400 @@ -258,8 +258,9 @@ typedef virDriver *virDriverPtr; typedef int (*virDrvNodeGetCellsFreeMemory) (virConnectPtr conn, - unsigned long *freeMems, - int nbCells); + long long *freeMems,
This needs to be declared unsigned long long. If you configure with --enable-compile-warnings=error then the compiler will catch these sorts of errors.
--- libvirt.danielpatch/src/xend_internal.c 2007-09-10 17:35:39.000000000 -0400 +++ libvirt.cellsMemory/src/xend_internal.c 2007-09-27 18:39:52.000000000 -0400 @@ -1954,6 +1954,8 @@ xenDaemonOpen(virConnectPtr conn, const { xmlURIPtr uri = NULL; int ret; + + virNodeInfo nodeInfo;
This variable is never used.
[ And from part 2/2 of the patch ]
+ * getNumber:
sscanf?
The reason I created this is because I also wanted to find the length of the segment so I could add it to the parsing offset to check what was next in the string. That level of checking may be unnecessary (overkill), and in any case could be more easily achieved using something like sscanf for some token portion of the string. As I said, I am *certain* there is a prettier way to do this!
[ And in general ]
I compiled this version & was hoping to test it, but I don't seem to have the right combination of Xen to make it work. At least I don't see any <topology> section in the XML capabilities. What patches do I need for Xen to make this work? I have a 2 socket AMD machine which I assume should work with this.
Daniel has built the kernel and xen rpms with the needed patches.
People can fetch those (based on RHEL-5.1 rpms base) from http://veillard.com/NUMA/ the kernel-xen and xen(-devel) should be sufficient . Server is on my ADSL line please do not DoS it or I will be even slower than usual :-) Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillard@redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/

Richard W.M. Jones wrote:
beth kon wrote:
Patch for accessing available memory.
--- libvirt.danielpatch/src/driver.h 2007-09-11 15:29:43.000000000 -0400 +++ libvirt.cellsMemory/src/driver.h 2007-09-27 18:39:52.000000000 -0400 @@ -258,8 +258,9 @@ typedef virDriver *virDriverPtr; typedef int (*virDrvNodeGetCellsFreeMemory) (virConnectPtr conn, - unsigned long *freeMems, - int nbCells); + long long *freeMems,
This needs to be declared unsigned long long. If you configure with --enable-compile-warnings=error then the compiler will catch these sorts of errors.
--- libvirt.danielpatch/src/xend_internal.c 2007-09-10 17:35:39.000000000 -0400 +++ libvirt.cellsMemory/src/xend_internal.c 2007-09-27 18:39:52.000000000 -0400 @@ -1954,6 +1954,8 @@ xenDaemonOpen(virConnectPtr conn, const { xmlURIPtr uri = NULL; int ret; + + virNodeInfo nodeInfo; This variable is never used.
Somehow I missed this part of the note last time. Thanks for the catches.
[ And from part 2/2 of the patch ]
+ * getNumber:
sscanf?
[ And in general ]
I compiled this version & was hoping to test it, but I don't seem to have the right combination of Xen to make it work. At least I don't see any <topology> section in the XML capabilities. What patches do I need for Xen to make this work? I have a 2 socket AMD machine which I assume should work with this.
Daniel's RPMs are at http://veillard.com/NUMA/
Rich.
-- Elizabeth Kon (Beth) IBM Linux Technology Center Open Hypervisor Team email: eak@us.ibm.com

My results are a bit inconclusive. I have a machine here which supposedly supports NUMA (2 socket, 2 core AMD with hypertransport and two separate banks of RAM). BIOS is _not_ configured to interleave memory. Other BIOS settings lead me to suppose that NUMA is enabled (or at least not disabled). Booting with Daniel's Xen & kernel does not give any messages about NUMA enabled or disabled. (See attached messages). # numactl --show physcpubind: 0 1 2 3 No NUMA support available on this system. $ grep -i numa /boot/config-2.6.18-numa.52.el5xen [ no configuration lines shown ] Nevertheless, with Beth's patch I see: # src/virsh freecell 0 0: 133292032 kB # src/virsh freecell 1 libvir: Xen error : invalid argument in xenHypervisorNodeGetCellsFreeMemory: invalid argument # src/virsh freecell Total: 133292032 kB # src/virsh freecell -2 -2: 0 kB (Negative numbers should be returning an error). # src/virsh capabilities [...] <topology> <cells num='1'> <cell id='0'> <cpus num='4'> <cpu id='0'/> <cpu id='1'/> <cpu id='2'/> <cpu id='3'/> </cpus> </cell> </cells> </topology> [...] Rich. -- Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/ Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 03798903 __ __ \ \/ /___ _ __ \ // _ \ \047_ \ / \ __/ | | | /_/\_\___|_| |_| _____ _ ___ ____ ____ _ ____ |___ / / | / _ \ _ __ _ _ _ __ ___ __ _ | ___|___ \ ___| | ___| |_ \ | || | | |__| \047_ \| | | | \047_ ` _ \ / _` | |___ \ __) | / _ \ |___ \ ___) || || |_| |__| | | | |_| | | | | | | (_| |_ ___) / __/ | __/ |___) | |____(_)_(_)___/ |_| |_|\__,_|_| |_| |_|\__,_(_)____/_____(_)___|_|____/ http://www.cl.cam.ac.uk/netos/xen University of Cambridge Computer Laboratory Xen version 3.1.0-numa.52.el5 (veillard@) (gcc version 4.1.2 20070626 (Red Hat 4.1.2-14)) Thu Sep 27 14:51:13 CEST 2007 Latest ChangeSet: unavailable (XEN) Command line: (hd0,5)/xen.gz-2.6.18-numa.52.el5 noreboot (XEN) 0000000000000000 - 000000000009a000 (usable) (XEN) 000000000009ac00 - 00000000000a0000 (reserved) (XEN) 00000000000d2000 - 0000000000100000 (reserved) (XEN) 0000000000100000 - 00000000adf00000 (usable) (XEN) 00000000adf00000 - 00000000adf0d000 (ACPI data) (XEN) 00000000adf0d000 - 00000000adf80000 (ACPI NVS) (XEN) 00000000adf80000 - 00000000ae000000 (reserved) (XEN) 00000000e0000000 - 00000000f0000000 (reserved) (XEN) 00000000fec00000 - 00000000fec10000 (reserved) (XEN) 00000000fee00000 - 00000000fee01000 (reserved) (XEN) 00000000fff00000 - 0000000100000000 (reserved) (XEN) 0000000100000000 - 0000000152000000 (usable) (XEN) System RAM: 4094MB (4192872kB) (XEN) Xen heap: 13MB (14104kB) (XEN) Domain heap initialised: DMA width 32 bits (XEN) Processor #0 15:1 APIC version 16 (XEN) Processor #1 15:1 APIC version 16 (XEN) Processor #2 15:1 APIC version 16 (XEN) Processor #3 15:1 APIC version 16 (XEN) IOAPIC[0]: apic_id 4, version 17, address 0xfec00000, GSI 0-23 (XEN) IOAPIC[1]: apic_id 5, version 17, address 0xd0000000, GSI 24-47 (XEN) Enabling APIC mode: Flat. Using 2 I/O APICs (XEN) Using scheduler: SMP Credit Scheduler (credit) (XEN) Detected 2814.461 MHz processor. (XEN) AMD SVM: ASIDs disabled. (XEN) HVM: SVM enabled (XEN) CPU0: AMD Dual-Core AMD Opteron(tm) Processor 2220 stepping 03 (XEN) Mapping cpu 0 to node 255 (XEN) Booting processor 1/1 eip 90000 (XEN) Mapping cpu 1 to node 255 (XEN) AMD: Disabling C1 Clock Ramping Node #0 (XEN) AMD: Disabling C1 Clock Ramping Node #1 (XEN) AMD SVM: ASIDs disabled. (XEN) CPU1: AMD Dual-Core AMD Opteron(tm) Processor 2220 stepping 03 (XEN) Booting processor 2/2 eip 90000 (XEN) Mapping cpu 2 to node 255 (XEN) AMD SVM: ASIDs disabled. (XEN) CPU2: AMD Dual-Core AMD Opteron(tm) Processor 2220 stepping 03 (XEN) Booting processor 3/3 eip 90000 (XEN) Mapping cpu 3 to node 255 (XEN) AMD SVM: ASIDs disabled. (XEN) CPU3: AMD Dual-Core AMD Opteron(tm) Processor 2220 stepping 03 (XEN) Total of 4 processors activated. (XEN) ENABLING IO-APIC IRQs (XEN) -> Using new ACK method (XEN) Platform timer is 25.000MHz HPET (XEN) Brought up 4 CPUs (XEN) *** LOADING DOMAIN 0 *** (XEN) elf_parse_binary: phdr: paddr=0xffffffff80200000 memsz=0x2c3c58 (XEN) elf_parse_binary: phdr: paddr=0xffffffff804c3c80 memsz=0x113270 (XEN) elf_parse_binary: phdr: paddr=0xffffffff805d7000 memsz=0xc08 (XEN) elf_parse_binary: phdr: paddr=0xffffffff805d8000 memsz=0x10af04 (XEN) elf_parse_binary: memory: 0xffffffff80200000 -> 0xffffffff806e2f04 (XEN) elf_xen_parse_note: GUEST_OS = "linux" (XEN) elf_xen_parse_note: GUEST_VERSION = "2.6" (XEN) elf_xen_parse_note: XEN_VERSION = "xen-3.0" (XEN) elf_xen_parse_note: VIRT_BASE = 0xffffffff80000000 (XEN) elf_xen_parse_note: PADDR_OFFSET = 0xffffffff80000000 (XEN) elf_xen_parse_note: ENTRY = 0xffffffff80200000 (XEN) elf_xen_parse_note: HYPERCALL_PAGE = 0xffffffff80206000 (XEN) elf_xen_parse_note: FEATURES = "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel" (XEN) elf_xen_parse_note: LOADER = "generic" (XEN) elf_xen_addr_calc_check: addresses: (XEN) virt_base = 0xffffffff80000000 (XEN) elf_paddr_offset = 0xffffffff80000000 (XEN) virt_offset = 0x0 (XEN) virt_kstart = 0xffffffff80200000 (XEN) virt_kend = 0xffffffff806e2f04 (XEN) virt_entry = 0xffffffff80200000 (XEN) Xen kernel: 64-bit, lsb, compat32 (XEN) Dom0 kernel: 64-bit, lsb, paddr 0xffffffff80200000 -> 0xffffffff806e2f04 (XEN) PHYSICAL MEMORY ARRANGEMENT: (XEN) Dom0 alloc.: 000000014a000000->000000014c000000 (985118 pages to be allocated) (XEN) VIRTUAL MEMORY ARRANGEMENT: (XEN) Loaded kernel: ffffffff80200000->ffffffff806e2f04 (XEN) Init. ramdisk: ffffffff806e3000->ffffffff80e38000 (XEN) Phys-Mach map: ffffffff80e38000->ffffffff815cc0f0 (XEN) Start info: ffffffff815cd000->ffffffff815cd49c (XEN) Page tables: ffffffff815ce000->ffffffff815dd000 (XEN) Boot stack: ffffffff815dd000->ffffffff815de000 (XEN) TOTAL: ffffffff80000000->ffffffff81800000 (XEN) ENTRY ADDRESS: ffffffff80200000 (XEN) Dom0 has maximum 4 VCPUs (XEN) elf_load_binary: phdr 0 at 0xffffffff80200000 -> 0xffffffff804c3c58 (XEN) elf_load_binary: phdr 1 at 0xffffffff804c3c80 -> 0xffffffff805d6ef0 (XEN) elf_load_binary: phdr 2 at 0xffffffff805d7000 -> 0xffffffff805d7c08 (XEN) elf_load_binary: phdr 3 at 0xffffffff805d8000 -> 0xffffffff80611388 (XEN) Initrd len 0x755000, start at 0xffffffff806e3000 (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) Xen is relinquishing VGA console. (XEN) *** Serial input -> DOM0 (type \047CTRL-a\047 three times to switch input to Xen). (XEN) traps.c:1698:d0 Domain attempted WRMSR 0000000000000410 from 00000000:00000000 to 00000000:00043bff. (XEN) traps.c:1698:d0 Domain attempted WRMSR 0000000000000410 from 00000000:00000000 to 00000000:00043bff. (XEN) traps.c:1698:d0 Domain attempted WRMSR 0000000000000410 from 00000000:00000000 to 00000000:00043bff. (XEN) traps.c:1698:d0 Domain attempted WRMSR 0000000000000410 from 00000000:00000000 to 00000000:00043bff. Bootdata ok (command line is root=/dev/OS/RHEL5 ro) Linux version 2.6.18-numa.52.el5xen (veillard@test2) (gcc version 4.1.2 20070626 (Red Hat 4.1.2-14)) #1 SMP Thu Sep 27 15:18:40 CEST 2007 BIOS-provided physical RAM map: Xen: 0000000000000000 - 00000000f301e000 (usable) On node 0 totalpages: 995358 DMA zone: 995358 pages, LIFO batch:31 DMI present. ACPI: RSDP (v000 PTLTD ) @ 0x00000000000f7b00 ACPI: RSDT (v001 PTLTD RSDT 0x06040000 LTP 0x00000000) @ 0x00000000adf070e8 ACPI: FADT (v001 NVIDIA CK8S 0x06040000 PTL_ 0x000f4240) @ 0x00000000adf0cce6 ACPI: SPCR (v001 PTLTD $UCRTBL$ 0x06040000 PTL 0x00000001) @ 0x00000000adf0cd5a ACPI: MCFG (v001 PTLTD MCFG 0x06040000 LTP 0x00000000) @ 0x00000000adf0cdaa ACPI: HPET (v001 PTLTD HPETTBL 0x06040000 LTP 0x00000001) @ 0x00000000adf0cdf6 ACPI: MADT (v001 PTLTD APIC 0x06040000 LTP 0x00000000) @ 0x00000000adf0ce2e ACPI: BOOT (v001 PTLTD $SBFTBL$ 0x06040000 LTP 0x00000001) @ 0x00000000adf0cec8 ACPI: SRAT (v001 AMD HAMMER 0x06040000 AMD 0x00000001) @ 0x00000000adf0cef0 ACPI: DSDT (v001 NVIDIA CK8 0x06040000 MSFT 0x0100000e) @ 0x0000000000000000 ACPI: Local APIC address 0xfee00000 ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] enabled) ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1]) ACPI: IOAPIC (id[0x04] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 4, version 17, address 0xfec00000, GSI 0-23 ACPI: IOAPIC (id[0x05] address[0xd0000000] gsi_base[24]) IOAPIC[1]: apic_id 5, version 17, address 0xd0000000, GSI 24-47 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Setting APIC routing to xen Using ACPI (MADT) for SMP configuration information Allocating PCI resources starting at b0000000 (gap: ae000000:32000000) Built 1 zonelists. Total pages: 995358 Kernel command line: root=/dev/OS/RHEL5 ro Initializing CPU#0 PID hash table entries: 4096 (order: 12, 32768 bytes) Xen reported: 2814.460 MHz processor. Console: colour VGA+ 80x25 Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes) Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes) Software IO TLB enabled: Aperture: 64 megabytes Kernel range: 0xffff880005c86000 - 0xffff880009c86000 PCI-DMA: Using software bounce buffering for IO (SWIOTLB) Memory: 3817216k/3981432k available (2357k kernel code, 155508k reserved, 1326k data, 172k init) Calibrating delay using timer specific routine.. 7037.82 BogoMIPS (lpj=14075647) Security Framework v1.0.0 initialized SELinux: Initializing. SELinux: Starting in permissive mode selinux_register_security: Registering secondary module capability Capability LSM initialized as secondary Mount-cache hash table entries: 256 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 1024K (64 bytes/line) CPU: Physical Processor ID: 0 CPU: Processor Core ID: 0 (SMP-)alternatives turned off ACPI: Core revision 20060707 Initializing CPU#1 Initializing CPU#2 Brought up 4 CPUs sizeof(vma)=168 bytes sizeof(page)=56 bytes sizeof(inode)=560 bytes sizeof(dentry)=216 bytes sizeof(ext3inode)=760 bytes sizeof(buffer_head)=96 bytes sizeof(skbuff)=240 bytes Initializing CPU#3 migration_cost=501 checking if image is initramfs... it is Grant table initialized NET: Registered protocol family 16 ACPI: bus type pci registered PCI: BIOS Bug: MCFG area at e0000000 is not E820-reserved PCI: Not using MMCONFIG. PCI: Using configuration type 1 ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (0000:00) PCI: Probing PCI hardware (bus 00) PCI: Transparent bridge - 0000:00:06.0 Boot video device is 0000:05:00.0 ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P2P0._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.XVR0._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.XVR2._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.XVR2.NECA._PRT] ACPI: PCI Interrupt Link [LNK1] (IRQs 16 17 18 19 20 21 22 23) *11 ACPI: PCI Interrupt Link [LNK2] (IRQs 16 17 18 19 20 21 22 23) *0, disabled. ACPI: PCI Interrupt Link [LNK3] (IRQs 16 17 18 19 20 21 22 23) *0, disabled. ACPI: PCI Interrupt Link [LNK4] (IRQs 16 17 18 19 20 21 22 23) *0, disabled. ACPI: PCI Interrupt Link [LK1E] (IRQs 16 17 18 19 20 21 22 23) *0, disabled. ACPI: PCI Interrupt Link [LK2E] (IRQs 16 17 18 19 20 21 22 23) *11 ACPI: PCI Interrupt Link [LK3E] (IRQs 16 17 18 19 20 21 22 23) *0, disabled. ACPI: PCI Interrupt Link [LK4E] (IRQs 16 17 18 19 20 21 22 23) *0, disabled. ACPI: PCI Interrupt Link [LSMB] (IRQs 16 17 18 19 20 21 22 23) *0, disabled. ACPI: PCI Interrupt Link [LUS0] (IRQs 16 17 18 19 20 21 22 23) *10 ACPI: PCI Interrupt Link [LMA2] (IRQs 16 17 18 19 20 21 22 23) *10 ACPI: PCI Interrupt Link [LUS2] (IRQs 16 17 18 19 20 21 22 23) *11 ACPI: PCI Interrupt Link [LMAC] (IRQs 16 17 18 19 20 21 22 23) *11 ACPI: PCI Interrupt Link [LAZA] (IRQs 16 17 18 19 20 21 22 23) *10 ACPI: PCI Interrupt Link [LPID] (IRQs 16 17 18 19 20 21 22 23) *0, disabled. ACPI: PCI Interrupt Link [LTID] (IRQs 16 17 18 19 20 21 22 23) *7 ACPI: PCI Interrupt Link [LSI1] (IRQs 16 17 18 19 20 21 22 23) *5 ACPI: PCI Interrupt Link [LSI2] (IRQs 16 17 18 19 20 21 22 23) *10 ACPI: PCI Root Bridge [PCI1] (0000:80) PCI: Probing PCI hardware (bus 80) ACPI: PCI Interrupt Routing Table [\_SB_.PCI1._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI1.XVR2._PRT] ACPI: PCI Interrupt Link [LK1E] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LK2E] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LK3E] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LK4E] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LUS0] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LMA2] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LUS2] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LMAC] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LPID] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LTID] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LSI1] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LSI2] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. Linux Plug and Play Support v0.97 (c) Adam Belay pnp: PnP ACPI init pnp: PnP ACPI: found 16 devices xen_mem: Initialising balloon driver. usbcore: registered new driver usbfs usbcore: registered new driver hub PCI: Using ACPI for IRQ routing PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report NetLabel: Initializing NetLabel: domain hash size = 128 NetLabel: protocols = UNLABELED CIPSOv4 NetLabel: unlabeled traffic allowed by default pnp: 00:03: ioport range 0x1000-0x107f could not be reserved pnp: 00:03: ioport range 0x1080-0x10ff has been reserved pnp: 00:03: ioport range 0x1400-0x147f has been reserved pnp: 00:03: ioport range 0x1480-0x14ff has been reserved pnp: 00:03: ioport range 0x1800-0x187f has been reserved pnp: 00:03: ioport range 0x1880-0x18ff has been reserved pnp: 00:03: ioport range 0x3440-0x347f has been reserved pnp: 00:03: ioport range 0x3400-0x343f has been reserved pnp: 00:0f: ioport range 0xf000-0xf07f has been reserved pnp: 00:0f: ioport range 0xf080-0xf0ff has been reserved pnp: 00:0f: ioport range 0xf400-0xf47f has been reserved pnp: 00:0f: ioport range 0xf480-0xf4ff has been reserved pnp: 00:0f: ioport range 0xf800-0xf87f has been reserved pnp: 00:0f: ioport range 0xf880-0xf8ff has been reserved PCI: Bridge: 0000:00:06.0 IO window: disabled. MEM window: b0100000-b01fffff PREFETCH window: disabled. PCI: Bridge: 0000:02:00.0 IO window: disabled. MEM window: disabled. PREFETCH window: disabled. PCI: Bridge: 0000:02:00.1 IO window: disabled. MEM window: disabled. PREFETCH window: disabled. PCI: Bridge: 0000:00:0d.0 IO window: disabled. MEM window: b0200000-b02fffff PREFETCH window: disabled. PCI: Failed to allocate mem resource #6:20000@d0000000 for 0000:05:00.0 PCI: Bridge: 0000:00:0f.0 IO window: disabled. MEM window: b1000000-b2ffffff PREFETCH window: c0000000-cfffffff PCI: Setting latency timer of device 0000:00:06.0 to 64 PCI: Setting latency timer of device 0000:00:0d.0 to 64 PCI: Setting latency timer of device 0000:02:00.0 to 64 ACPI: PCI Interrupt Link [LK4E] enabled at IRQ 23 GSI 16 sharing vector 0xA0 and IRQ 16 ACPI: PCI Interrupt 0000:02:00.1[A] -> Link [LK4E] -> GSI 23 (level, high) -> IRQ 16 PCI: Setting latency timer of device 0000:02:00.1 to 64 PCI: Setting latency timer of device 0000:00:0f.0 to 64 PCI: Bridge: 0000:80:0d.0 IO window: disabled. MEM window: disabled. PREFETCH window: disabled. PCI: Setting latency timer of device 0000:80:0d.0 to 64 NET: Registered protocol family 2 IP route cache hash table entries: 131072 (order: 8, 1048576 bytes) TCP established hash table entries: 262144 (order: 10, 4194304 bytes) TCP bind hash table entries: 65536 (order: 8, 1048576 bytes) TCP: Hash tables configured (established 262144 bind 65536) TCP reno registered Simple Boot Flag at 0x36 set to 0x1 audit: initializing netlink socket (disabled) audit(1190986601.880:1): initialized VFS: Disk quotas dquot_6.5.1 Dquot-cache hash table entries: 512 (order 0, 4096 bytes) SELinux: Registering netfilter hooks Initializing Cryptographic API ksign: Installing public key data Loading keyring - Added public key 6162A2834A3D6D8 - User ID: Red Hat, Inc. (Kernel Module GPG key) io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered (default) PCI: Setting latency timer of device 0000:00:0d.0 to 64 assign_interrupt_mode Found MSI capability Allocate Port Service[0000:00:0d.0:pcie00] PCI: Setting latency timer of device 0000:00:0f.0 to 64 assign_interrupt_mode Found MSI capability Allocate Port Service[0000:00:0f.0:pcie00] PCI: Setting latency timer of device 0000:80:0d.0 to 64 assign_interrupt_mode Found MSI capability Allocate Port Service[0000:80:0d.0:pcie00] pci_hotplug: PCI Hot Plug PCI Core version: 0.5 Real Time Clock Driver v1.12ac Non-volatile memory driver v1.2 Linux agpgart interface v0.101 (c) Dave Jones RAMDISK driver initialized: 16 RAM disks of 16384K size 4096 blocksize Xen virtual console successfully installed as ttyS0 Event-channel device installed. Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx NFORCE-MCP55: IDE controller at PCI slot 0000:00:04.0 NFORCE-MCP55: chipset revision 161 NFORCE-MCP55: not 100% native mode: will probe irqs later NFORCE-MCP55: 0000:00:04.0 (rev a1) UDMA133 controller ide0: BM-DMA at 0x3480-0x3487, BIOS settings: hda:DMA, hdb:pio Probing IDE interface ide0... hda: LITE-ON DVDRW LH-18A1P, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Probing IDE interface ide1... ide-floppy driver 0.99.newide usbcore: registered new driver hiddev usbcore: registered new driver usbhid drivers/usb/input/hid-core.c: v2.6:USB HID core driver PNP: PS/2 Controller [PNP0303:KBC0,PNP0f13:MSE0] at 0x60,0x64 irq 1,12 serio: i8042 KBD port at 0x60,0x64 irq 1 serio: i8042 AUX port at 0x60,0x64 irq 12 mice: PS/2 mouse device common for all mice md: md driver 0.90.3 MAX_MD_DEVS=256, MD_SB_DISKS=27 md: bitmap version 4.39 TCP bic registered Initializing IPsec netlink socket NET: Registered protocol family 1 NET: Registered protocol family 17 Write protecting the kernel read-only data: 445k input: AT Translated Set 2 keyboard as /class/input/input0 USB Universal Host Controller Interface driver v3.0 ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI) ACPI: PCI Interrupt Link [LUS0] enabled at IRQ 22 GSI 17 sharing vector 0xA8 and IRQ 17 ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [LUS0] -> GSI 22 (level, high) -> IRQ 17 PCI: Setting latency timer of device 0000:00:02.0 to 64 ohci_hcd 0000:00:02.0: OHCI Host Controller ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 1 ohci_hcd 0000:00:02.0: irq 17, io mem 0xb0004000 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 10 ports detected ACPI: PCI Interrupt Link [LUS2] enabled at IRQ 21 GSI 18 sharing vector 0xB0 and IRQ 18 ACPI: PCI Interrupt 0000:00:02.1[B] -> Link [LUS2] -> GSI 21 (level, high) -> IRQ 18 PCI: Setting latency timer of device 0000:00:02.1 to 64 ehci_hcd 0000:00:02.1: EHCI Host Controller ehci_hcd 0000:00:02.1: new USB bus registered, assigned bus number 2 ehci_hcd 0000:00:02.1: debug port 1 PCI: cache line size of 64 is not supported by device 0000:00:02.1 ehci_hcd 0000:00:02.1: irq 18, io mem 0xb0005000 ehci_hcd 0000:00:02.1: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004 usb usb2: configuration #1 chosen from 1 choice hub 2-0:1.0: USB hub found hub 2-0:1.0: 10 ports detected SCSI subsystem initialized libata version 2.21 loaded. sata_nv 0000:00:05.0: version 3.4 ACPI: PCI Interrupt Link [LTID] enabled at IRQ 20 GSI 19 sharing vector 0xB8 and IRQ 19 ACPI: PCI Interrupt 0000:00:05.0[A] -> Link [LTID] -> GSI 20 (level, high) -> IRQ 19 PCI: Setting latency timer of device 0000:00:05.0 to 64 scsi0 : sata_nv scsi1 : sata_nv ata1: SATA max UDMA/133 cmd 0x00000000000134d0 ctl 0x00000000000134c6 bmdma 0x0000000000013490 irq 19 ata2: SATA max UDMA/133 cmd 0x00000000000134c8 ctl 0x00000000000134c2 bmdma 0x0000000000013498 irq 19 ohci_hcd 0000:00:02.0: wakeup ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) ata1.00: ATA-7: WDC WD1200JS-22MHB0, 02.01C03, max UDMA/133 ata1.00: 234441648 sectors, multi 16: LBA48 ata1.00: configured for UDMA/133 usb 1-6: new low speed USB device using ohci_hcd and address 2 usb 1-6: configuration #1 chosen from 1 choice input: Logitech USB-PS/2 Optical Mouse as /class/input/input1 input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:02.0-6 ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300) ata2.00: ATA-7: WDC WD3200YS-01PGB0, 21.00M21, max UDMA/133 ata2.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 0/1) ata2.00: configured for UDMA/133 Vendor: ATA Model: WDC WD1200JS-22M Rev: 02.0 Type: Direct-Access ANSI SCSI revision: 05 SCSI device sda: 234441648 512-byte hdwr sectors (120034 MB) sda: Write Protect is off sda: Mode Sense: 00 3a 00 00 SCSI device sda: drive cache: write back SCSI device sda: 234441648 512-byte hdwr sectors (120034 MB) sda: Write Protect is off sda: Mode Sense: 00 3a 00 00 SCSI device sda: drive cache: write back sda: sda1 < sda5 sda6 sda7 sda8 > sda2 sda3 sd 0:0:0:0: Attached scsi disk sda Vendor: ATA Model: WDC WD3200YS-01P Rev: 21.0 Type: Direct-Access ANSI SCSI revision: 05 SCSI device sdb: 625142448 512-byte hdwr sectors (320073 MB) sdb: Write Protect is off sdb: Mode Sense: 00 3a 00 00 SCSI device sdb: drive cache: write back SCSI device sdb: 625142448 512-byte hdwr sectors (320073 MB) sdb: Write Protect is off sdb: Mode Sense: 00 3a 00 00 SCSI device sdb: drive cache: write back sdb: sdb1 sd 1:0:0:0: Attached scsi disk sdb ACPI: PCI Interrupt Link [LSI1] enabled at IRQ 19 GSI 20 sharing vector 0xC0 and IRQ 20 ACPI: PCI Interrupt 0000:00:05.1[B] -> Link [LSI1] -> GSI 19 (level, high) -> IRQ 20 PCI: Setting latency timer of device 0000:00:05.1 to 64 scsi2 : sata_nv scsi3 : sata_nv ata3: SATA max UDMA/133 cmd 0x00000000000134e8 ctl 0x00000000000134de bmdma 0x00000000000134a0 irq 20 ata4: SATA max UDMA/133 cmd 0x00000000000134e0 ctl 0x00000000000134da bmdma 0x00000000000134a8 irq 20 ata3: SATA link down (SStatus 0 SControl 300) ata4: SATA link down (SStatus 0 SControl 300) ACPI: PCI Interrupt Link [LSI2] enabled at IRQ 18 GSI 21 sharing vector 0xC8 and IRQ 21 ACPI: PCI Interrupt 0000:00:05.2[C] -> Link [LSI2] -> GSI 18 (level, high) -> IRQ 21 PCI: Setting latency timer of device 0000:00:05.2 to 64 scsi4 : sata_nv scsi5 : sata_nv ata5: SATA max UDMA/133 cmd 0x0000000000013800 ctl 0x00000000000134f6 bmdma 0x00000000000134b0 irq 21 ata6: SATA max UDMA/133 cmd 0x00000000000134f8 ctl 0x00000000000134f2 bmdma 0x00000000000134b8 irq 21 ata5: SATA link down (SStatus 0 SControl 300) ata6: SATA link down (SStatus 0 SControl 300) device-mapper: ioctl: 4.11.0-ioctl (2006-09-14) initialised: dm-devel@redhat.com kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. security: 3 users, 6 roles, 1658 types, 210 bools, 1 sens, 1024 cats security: 61 classes, 57664 rules SELinux: Completing initialization. SELinux: Setting up existing superblocks. SELinux: initialized (dev dm-0, type ext3), uses xattr SELinux: initialized (dev usbfs, type usbfs), uses genfs_contexts SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs SELinux: initialized (dev debugfs, type debugfs), uses genfs_contexts SELinux: initialized (dev selinuxfs, type selinuxfs), uses genfs_contexts SELinux: initialized (dev mqueue, type mqueue), uses transition SIDs SELinux: initialized (dev devpts, type devpts), uses transition SIDs SELinux: initialized (dev eventpollfs, type eventpollfs), uses task SIDs SELinux: initialized (dev inotifyfs, type inotifyfs), uses genfs_contexts SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs SELinux: initialized (dev futexfs, type futexfs), uses genfs_contexts SELinux: initialized (dev pipefs, type pipefs), uses task SIDs SELinux: initialized (dev sockfs, type sockfs), uses task SIDs SELinux: initialized (dev cpuset, type cpuset), not configured for labeling SELinux: initialized (dev proc, type proc), uses genfs_contexts SELinux: initialized (dev bdev, type bdev), uses genfs_contexts SELinux: initialized (dev rootfs, type rootfs), uses genfs_contexts SELinux: initialized (dev sysfs, type sysfs), uses genfs_contexts audit(1190986610.688:2): policy loaded auid=4294967295 input: PC Speaker as /class/input/input2 shpchp: HPC vendor_id 1033 device_id 125 ss_vid 0 ss_did 0 shpchp: Can't get msi for the hotplug controller shpchp: Use INTx for the hotplug controller shpchp: Standard Hot Plug PCI Controller Driver version: 0.4 Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled 8250_pnp: Unknown symbol serial8250_unregister_port 8250_pnp: Unknown symbol serial8250_register_port EDAC MC: Ver: 2.0.1 Sep 27 2007 hda: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 EDAC MC0: Giving out device to k8_edac Athlon64/Opteron: DEV 0000:00:18.2 EDAC MC1: Giving out device to k8_edac Athlon64/Opteron: DEV 0000:00:19.2 i2c_adapter i2c-0: nForce2 SMBus adapter at 0x3440 i2c_adapter i2c-1: nForce2 SMBus adapter at 0x3400 i2c_adapter i2c-2: nForce2 SMBus adapter at 0x4440 i2c_adapter i2c-3: nForce2 SMBus adapter at 0x4400 forcedeth.c: Reverse Engineered nForce ethernet driver. Version 0.60. ACPI: PCI Interrupt Link [LMAC] enabled at IRQ 17 GSI 22 sharing vector 0xD0 and IRQ 22 ACPI: PCI Interrupt 0000:00:08.0[A] -> Link [LMAC] -> GSI 17 (level, high) -> IRQ 22 PCI: Setting latency timer of device 0000:00:08.0 to 64 forcedeth: using HIGHDMA device_create does not work yet for NULL parents device_create does not work yet for NULL parents sd 0:0:0:0: Attached scsi generic sg0 type 0 sd 1:0:0:0: Attached scsi generic sg1 type 0 eth0: forcedeth.c: subsystem: 010f1:2915 bound to 0000:00:08.0 ACPI: PCI Interrupt Link [LAZA] enabled at IRQ 16 GSI 23 sharing vector 0xD8 and IRQ 23 ACPI: PCI Interrupt 0000:00:06.1[B] -> Link [LAZA] -> GSI 16 (level, high) -> IRQ 23 PCI: Setting latency timer of device 0000:00:06.1 to 64 hda_codec: Unknown model for ALC262, trying auto-probe from BIOS... device_create does not work yet for NULL parents device_create does not work yet for NULL parents device_create does not work yet for NULL parents device_create does not work yet for NULL parents ACPI: PCI Interrupt Link [LMA2] enabled at IRQ 23 ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [LMA2] -> GSI 23 (level, high) -> IRQ 16 PCI: Setting latency timer of device 0000:00:09.0 to 64 forcedeth: using HIGHDMA eth1: forcedeth.c: subsystem: 010f1:2915 bound to 0000:00:09.0 lp: driver loaded but no devices found ACPI: Power Button (FF) [PWRF] ACPI: Power Button (CM) [PWRB] ibm_acpi: ec object not found md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. device-mapper: multipath: version 1.0.5 loaded loop: loaded (max 8 devices) EXT3 FS on dm-0, internal journal kjournald starting. Commit interval 5 seconds EXT3 FS on sda6, internal journal EXT3-fs: mounted filesystem with ordered data mode. SELinux: initialized (dev sda6, type ext3), uses xattr SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs kjournald starting. Commit interval 5 seconds EXT3 FS on dm-2, internal journal EXT3-fs: mounted filesystem with ordered data mode. SELinux: initialized (dev dm-2, type ext3), uses xattr kjournald starting. Commit interval 5 seconds EXT3 FS on dm-5, internal journal EXT3-fs: mounted filesystem with ordered data mode. SELinux: initialized (dev dm-5, type ext3), uses xattr kjournald starting. Commit interval 5 seconds EXT3 FS on dm-1, internal journal EXT3-fs: mounted filesystem with ordered data mode. SELinux: initialized (dev dm-1, type ext3), uses xattr kjournald starting. Commit interval 5 seconds EXT3 FS on dm-6, internal journal EXT3-fs: mounted filesystem with ordered data mode. SELinux: initialized (dev dm-6, type ext3), uses xattr SELinux: initialized (dev binfmt_misc, type binfmt_misc), uses genfs_contexts NET: Registered protocol family 10 lo: Disabled Privacy Extensions IPv6 over IPv4 tunneling driver ip6_tables: (C) 2000-2006 Netfilter Core Team ip_tables: (C) 2000-2006 Netfilter Core Team Netfilter messages via NETLINK v0.30. ip_conntrack version 2.4 (8192 buckets, 65536 max) - 304 bytes per conntrack process `sysctl' is using deprecated sysctl (syscall) net.ipv6.neigh.lo.retrans_time; Use net.ipv6.neigh.lo.retrans_time_ms instead. SELinux: initialized (dev rpc_pipefs, type rpc_pipefs), uses genfs_contexts Bluetooth: Core ver 2.10 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized Bluetooth: L2CAP ver 2.8 Bluetooth: L2CAP socket layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM ver 1.8 Bluetooth: HIDP (Human Interface Emulation) ver 1.1 SELinux: initialized (dev autofs, type autofs), uses genfs_contexts SELinux: initialized (dev autofs, type autofs), uses genfs_contexts SELinux: initialized (dev autofs, type autofs), uses genfs_contexts eth0: no IPv6 routers present Bridge firewalling registered virbr0: no IPv6 routers present device vif0.0 entered promiscuous mode xenbr0: port 1(vif0.0) entering learning state xenbr0: topology change detected, propagating xenbr0: port 1(vif0.0) entering forwarding state device peth0 entered promiscuous mode xenbr0: port 2(peth0) entering learning state xenbr0: topology change detected, propagating xenbr0: port 2(peth0) entering forwarding state eth0: no IPv6 routers present

Richard W.M. Jones wrote:
My results are a bit inconclusive. I have a machine here which supposedly supports NUMA (2 socket, 2 core AMD with hypertransport and two separate banks of RAM).
BIOS is _not_ configured to interleave memory. Other BIOS settings lead me to suppose that NUMA is enabled (or at least not disabled).
Booting with Daniel's Xen & kernel does not give any messages about NUMA enabled or disabled. (See attached messages).
# numactl --show physcpubind: 0 1 2 3 No NUMA support available on this system.
Are you setting "numa=on dom0_mem=512m" on the kernel line in grub? I'm not sure if the dom0_mem=512m should be required but we were having problems when trying to boot numa without it. It appears from the results you show that numa is not on.
$ grep -i numa /boot/config-2.6.18-numa.52.el5xen [ no configuration lines shown ]
Nevertheless, with Beth's patch I see:
# src/virsh freecell 0 0: 133292032 kB
# src/virsh freecell 1 libvir: Xen error : invalid argument in xenHypervisorNodeGetCellsFreeMemory: invalid argument
# src/virsh freecell Total: 133292032 kB
# src/virsh freecell -2 -2: 0 kB
(Negative numbers should be returning an error).
Yes, a check for negative numbers would make sense.
# src/virsh capabilities [...] <topology> <cells num='1'> <cell id='0'> <cpus num='4'> <cpu id='0'/> <cpu id='1'/> <cpu id='2'/> <cpu id='3'/> </cpus> </cell> </cells> </topology> [...]
This is how the information would be interpreted for a non-numa box. All cpus on one node. You can compare the results with those in xm info. So if you didn't have numa=on set in grub, this makes sense. Otherwise, something is wrong.
Rich.
------------------------------------------------------------------------
__ __ \ \/ /___ _ __ \ // _ \ \047_ \ / \ __/ | | | /_/\_\___|_| |_|
_____ _ ___ ____ ____ _ ____ |___ / / | / _ \ _ __ _ _ _ __ ___ __ _ | ___|___ \ ___| | ___| |_ \ | || | | |__| \047_ \| | | | \047_ ` _ \ / _` | |___ \ __) | / _ \ |___ \ ___) || || |_| |__| | | | |_| | | | | | | (_| |_ ___) / __/ | __/ |___) | |____(_)_(_)___/ |_| |_|\__,_|_| |_| |_|\__,_(_)____/_____(_)___|_|____/
http://www.cl.cam.ac.uk/netos/xen University of Cambridge Computer Laboratory
Xen version 3.1.0-numa.52.el5 (veillard@) (gcc version 4.1.2 20070626 (Red Hat 4.1.2-14)) Thu Sep 27 14:51:13 CEST 2007 Latest ChangeSet: unavailable
(XEN) Command line: (hd0,5)/xen.gz-2.6.18-numa.52.el5 noreboot (XEN) 0000000000000000 - 000000000009a000 (usable) (XEN) 000000000009ac00 - 00000000000a0000 (reserved) (XEN) 00000000000d2000 - 0000000000100000 (reserved) (XEN) 0000000000100000 - 00000000adf00000 (usable) (XEN) 00000000adf00000 - 00000000adf0d000 (ACPI data) (XEN) 00000000adf0d000 - 00000000adf80000 (ACPI NVS) (XEN) 00000000adf80000 - 00000000ae000000 (reserved) (XEN) 00000000e0000000 - 00000000f0000000 (reserved) (XEN) 00000000fec00000 - 00000000fec10000 (reserved) (XEN) 00000000fee00000 - 00000000fee01000 (reserved) (XEN) 00000000fff00000 - 0000000100000000 (reserved) (XEN) 0000000100000000 - 0000000152000000 (usable) (XEN) System RAM: 4094MB (4192872kB) (XEN) Xen heap: 13MB (14104kB) (XEN) Domain heap initialised: DMA width 32 bits (XEN) Processor #0 15:1 APIC version 16 (XEN) Processor #1 15:1 APIC version 16 (XEN) Processor #2 15:1 APIC version 16 (XEN) Processor #3 15:1 APIC version 16 (XEN) IOAPIC[0]: apic_id 4, version 17, address 0xfec00000, GSI 0-23 (XEN) IOAPIC[1]: apic_id 5, version 17, address 0xd0000000, GSI 24-47 (XEN) Enabling APIC mode: Flat. Using 2 I/O APICs (XEN) Using scheduler: SMP Credit Scheduler (credit) (XEN) Detected 2814.461 MHz processor. (XEN) AMD SVM: ASIDs disabled. (XEN) HVM: SVM enabled (XEN) CPU0: AMD Dual-Core AMD Opteron(tm) Processor 2220 stepping 03 (XEN) Mapping cpu 0 to node 255 (XEN) Booting processor 1/1 eip 90000 (XEN) Mapping cpu 1 to node 255 (XEN) AMD: Disabling C1 Clock Ramping Node #0 (XEN) AMD: Disabling C1 Clock Ramping Node #1 (XEN) AMD SVM: ASIDs disabled. (XEN) CPU1: AMD Dual-Core AMD Opteron(tm) Processor 2220 stepping 03 (XEN) Booting processor 2/2 eip 90000 (XEN) Mapping cpu 2 to node 255 (XEN) AMD SVM: ASIDs disabled. (XEN) CPU2: AMD Dual-Core AMD Opteron(tm) Processor 2220 stepping 03 (XEN) Booting processor 3/3 eip 90000 (XEN) Mapping cpu 3 to node 255 (XEN) AMD SVM: ASIDs disabled. (XEN) CPU3: AMD Dual-Core AMD Opteron(tm) Processor 2220 stepping 03 (XEN) Total of 4 processors activated. (XEN) ENABLING IO-APIC IRQs (XEN) -> Using new ACK method (XEN) Platform timer is 25.000MHz HPET (XEN) Brought up 4 CPUs (XEN) *** LOADING DOMAIN 0 *** (XEN) elf_parse_binary: phdr: paddr=0xffffffff80200000 memsz=0x2c3c58 (XEN) elf_parse_binary: phdr: paddr=0xffffffff804c3c80 memsz=0x113270 (XEN) elf_parse_binary: phdr: paddr=0xffffffff805d7000 memsz=0xc08 (XEN) elf_parse_binary: phdr: paddr=0xffffffff805d8000 memsz=0x10af04 (XEN) elf_parse_binary: memory: 0xffffffff80200000 -> 0xffffffff806e2f04 (XEN) elf_xen_parse_note: GUEST_OS = "linux" (XEN) elf_xen_parse_note: GUEST_VERSION = "2.6" (XEN) elf_xen_parse_note: XEN_VERSION = "xen-3.0" (XEN) elf_xen_parse_note: VIRT_BASE = 0xffffffff80000000 (XEN) elf_xen_parse_note: PADDR_OFFSET = 0xffffffff80000000 (XEN) elf_xen_parse_note: ENTRY = 0xffffffff80200000 (XEN) elf_xen_parse_note: HYPERCALL_PAGE = 0xffffffff80206000 (XEN) elf_xen_parse_note: FEATURES = "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel" (XEN) elf_xen_parse_note: LOADER = "generic" (XEN) elf_xen_addr_calc_check: addresses: (XEN) virt_base = 0xffffffff80000000 (XEN) elf_paddr_offset = 0xffffffff80000000 (XEN) virt_offset = 0x0 (XEN) virt_kstart = 0xffffffff80200000 (XEN) virt_kend = 0xffffffff806e2f04 (XEN) virt_entry = 0xffffffff80200000 (XEN) Xen kernel: 64-bit, lsb, compat32 (XEN) Dom0 kernel: 64-bit, lsb, paddr 0xffffffff80200000 -> 0xffffffff806e2f04 (XEN) PHYSICAL MEMORY ARRANGEMENT: (XEN) Dom0 alloc.: 000000014a000000->000000014c000000 (985118 pages to be allocated) (XEN) VIRTUAL MEMORY ARRANGEMENT: (XEN) Loaded kernel: ffffffff80200000->ffffffff806e2f04 (XEN) Init. ramdisk: ffffffff806e3000->ffffffff80e38000 (XEN) Phys-Mach map: ffffffff80e38000->ffffffff815cc0f0 (XEN) Start info: ffffffff815cd000->ffffffff815cd49c (XEN) Page tables: ffffffff815ce000->ffffffff815dd000 (XEN) Boot stack: ffffffff815dd000->ffffffff815de000 (XEN) TOTAL: ffffffff80000000->ffffffff81800000 (XEN) ENTRY ADDRESS: ffffffff80200000 (XEN) Dom0 has maximum 4 VCPUs (XEN) elf_load_binary: phdr 0 at 0xffffffff80200000 -> 0xffffffff804c3c58 (XEN) elf_load_binary: phdr 1 at 0xffffffff804c3c80 -> 0xffffffff805d6ef0 (XEN) elf_load_binary: phdr 2 at 0xffffffff805d7000 -> 0xffffffff805d7c08 (XEN) elf_load_binary: phdr 3 at 0xffffffff805d8000 -> 0xffffffff80611388 (XEN) Initrd len 0x755000, start at 0xffffffff806e3000 (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) Xen is relinquishing VGA console. (XEN) *** Serial input -> DOM0 (type \047CTRL-a\047 three times to switch input to Xen). (XEN) traps.c:1698:d0 Domain attempted WRMSR 0000000000000410 from 00000000:00000000 to 00000000:00043bff. (XEN) traps.c:1698:d0 Domain attempted WRMSR 0000000000000410 from 00000000:00000000 to 00000000:00043bff. (XEN) traps.c:1698:d0 Domain attempted WRMSR 0000000000000410 from 00000000:00000000 to 00000000:00043bff. (XEN) traps.c:1698:d0 Domain attempted WRMSR 0000000000000410 from 00000000:00000000 to 00000000:00043bff.
------------------------------------------------------------------------
Bootdata ok (command line is root=/dev/OS/RHEL5 ro) Linux version 2.6.18-numa.52.el5xen (veillard@test2) (gcc version 4.1.2 20070626 (Red Hat 4.1.2-14)) #1 SMP Thu Sep 27 15:18:40 CEST 2007 BIOS-provided physical RAM map: Xen: 0000000000000000 - 00000000f301e000 (usable) On node 0 totalpages: 995358 DMA zone: 995358 pages, LIFO batch:31 DMI present. ACPI: RSDP (v000 PTLTD ) @ 0x00000000000f7b00 ACPI: RSDT (v001 PTLTD RSDT 0x06040000 LTP 0x00000000) @ 0x00000000adf070e8 ACPI: FADT (v001 NVIDIA CK8S 0x06040000 PTL_ 0x000f4240) @ 0x00000000adf0cce6 ACPI: SPCR (v001 PTLTD $UCRTBL$ 0x06040000 PTL 0x00000001) @ 0x00000000adf0cd5a ACPI: MCFG (v001 PTLTD MCFG 0x06040000 LTP 0x00000000) @ 0x00000000adf0cdaa ACPI: HPET (v001 PTLTD HPETTBL 0x06040000 LTP 0x00000001) @ 0x00000000adf0cdf6 ACPI: MADT (v001 PTLTD APIC 0x06040000 LTP 0x00000000) @ 0x00000000adf0ce2e ACPI: BOOT (v001 PTLTD $SBFTBL$ 0x06040000 LTP 0x00000001) @ 0x00000000adf0cec8 ACPI: SRAT (v001 AMD HAMMER 0x06040000 AMD 0x00000001) @ 0x00000000adf0cef0 ACPI: DSDT (v001 NVIDIA CK8 0x06040000 MSFT 0x0100000e) @ 0x0000000000000000 ACPI: Local APIC address 0xfee00000 ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] enabled) ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1]) ACPI: IOAPIC (id[0x04] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 4, version 17, address 0xfec00000, GSI 0-23 ACPI: IOAPIC (id[0x05] address[0xd0000000] gsi_base[24]) IOAPIC[1]: apic_id 5, version 17, address 0xd0000000, GSI 24-47 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Setting APIC routing to xen Using ACPI (MADT) for SMP configuration information Allocating PCI resources starting at b0000000 (gap: ae000000:32000000) Built 1 zonelists. Total pages: 995358 Kernel command line: root=/dev/OS/RHEL5 ro Initializing CPU#0 PID hash table entries: 4096 (order: 12, 32768 bytes) Xen reported: 2814.460 MHz processor. Console: colour VGA+ 80x25 Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes) Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes) Software IO TLB enabled: Aperture: 64 megabytes Kernel range: 0xffff880005c86000 - 0xffff880009c86000 PCI-DMA: Using software bounce buffering for IO (SWIOTLB) Memory: 3817216k/3981432k available (2357k kernel code, 155508k reserved, 1326k data, 172k init) Calibrating delay using timer specific routine.. 7037.82 BogoMIPS (lpj=14075647) Security Framework v1.0.0 initialized SELinux: Initializing. SELinux: Starting in permissive mode selinux_register_security: Registering secondary module capability Capability LSM initialized as secondary Mount-cache hash table entries: 256 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 1024K (64 bytes/line) CPU: Physical Processor ID: 0 CPU: Processor Core ID: 0 (SMP-)alternatives turned off ACPI: Core revision 20060707 Initializing CPU#1 Initializing CPU#2 Brought up 4 CPUs sizeof(vma)=168 bytes sizeof(page)=56 bytes sizeof(inode)=560 bytes sizeof(dentry)=216 bytes sizeof(ext3inode)=760 bytes sizeof(buffer_head)=96 bytes sizeof(skbuff)=240 bytes Initializing CPU#3 migration_cost=501 checking if image is initramfs... it is Grant table initialized NET: Registered protocol family 16 ACPI: bus type pci registered PCI: BIOS Bug: MCFG area at e0000000 is not E820-reserved PCI: Not using MMCONFIG. PCI: Using configuration type 1 ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (0000:00) PCI: Probing PCI hardware (bus 00) PCI: Transparent bridge - 0000:00:06.0 Boot video device is 0000:05:00.0 ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P2P0._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.XVR0._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.XVR2._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.XVR2.NECA._PRT] ACPI: PCI Interrupt Link [LNK1] (IRQs 16 17 18 19 20 21 22 23) *11 ACPI: PCI Interrupt Link [LNK2] (IRQs 16 17 18 19 20 21 22 23) *0, disabled. ACPI: PCI Interrupt Link [LNK3] (IRQs 16 17 18 19 20 21 22 23) *0, disabled. ACPI: PCI Interrupt Link [LNK4] (IRQs 16 17 18 19 20 21 22 23) *0, disabled. ACPI: PCI Interrupt Link [LK1E] (IRQs 16 17 18 19 20 21 22 23) *0, disabled. ACPI: PCI Interrupt Link [LK2E] (IRQs 16 17 18 19 20 21 22 23) *11 ACPI: PCI Interrupt Link [LK3E] (IRQs 16 17 18 19 20 21 22 23) *0, disabled. ACPI: PCI Interrupt Link [LK4E] (IRQs 16 17 18 19 20 21 22 23) *0, disabled. ACPI: PCI Interrupt Link [LSMB] (IRQs 16 17 18 19 20 21 22 23) *0, disabled. ACPI: PCI Interrupt Link [LUS0] (IRQs 16 17 18 19 20 21 22 23) *10 ACPI: PCI Interrupt Link [LMA2] (IRQs 16 17 18 19 20 21 22 23) *10 ACPI: PCI Interrupt Link [LUS2] (IRQs 16 17 18 19 20 21 22 23) *11 ACPI: PCI Interrupt Link [LMAC] (IRQs 16 17 18 19 20 21 22 23) *11 ACPI: PCI Interrupt Link [LAZA] (IRQs 16 17 18 19 20 21 22 23) *10 ACPI: PCI Interrupt Link [LPID] (IRQs 16 17 18 19 20 21 22 23) *0, disabled. ACPI: PCI Interrupt Link [LTID] (IRQs 16 17 18 19 20 21 22 23) *7 ACPI: PCI Interrupt Link [LSI1] (IRQs 16 17 18 19 20 21 22 23) *5 ACPI: PCI Interrupt Link [LSI2] (IRQs 16 17 18 19 20 21 22 23) *10 ACPI: PCI Root Bridge [PCI1] (0000:80) PCI: Probing PCI hardware (bus 80) ACPI: PCI Interrupt Routing Table [\_SB_.PCI1._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI1.XVR2._PRT] ACPI: PCI Interrupt Link [LK1E] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LK2E] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LK3E] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LK4E] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LUS0] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LMA2] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LUS2] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LMAC] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LPID] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LTID] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LSI1] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. ACPI: PCI Interrupt Link [LSI2] (IRQs 40 41 42 43 44 45 46 47) *0, disabled. Linux Plug and Play Support v0.97 (c) Adam Belay pnp: PnP ACPI init pnp: PnP ACPI: found 16 devices xen_mem: Initialising balloon driver. usbcore: registered new driver usbfs usbcore: registered new driver hub PCI: Using ACPI for IRQ routing PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report NetLabel: Initializing NetLabel: domain hash size = 128 NetLabel: protocols = UNLABELED CIPSOv4 NetLabel: unlabeled traffic allowed by default pnp: 00:03: ioport range 0x1000-0x107f could not be reserved pnp: 00:03: ioport range 0x1080-0x10ff has been reserved pnp: 00:03: ioport range 0x1400-0x147f has been reserved pnp: 00:03: ioport range 0x1480-0x14ff has been reserved pnp: 00:03: ioport range 0x1800-0x187f has been reserved pnp: 00:03: ioport range 0x1880-0x18ff has been reserved pnp: 00:03: ioport range 0x3440-0x347f has been reserved pnp: 00:03: ioport range 0x3400-0x343f has been reserved pnp: 00:0f: ioport range 0xf000-0xf07f has been reserved pnp: 00:0f: ioport range 0xf080-0xf0ff has been reserved pnp: 00:0f: ioport range 0xf400-0xf47f has been reserved pnp: 00:0f: ioport range 0xf480-0xf4ff has been reserved pnp: 00:0f: ioport range 0xf800-0xf87f has been reserved pnp: 00:0f: ioport range 0xf880-0xf8ff has been reserved PCI: Bridge: 0000:00:06.0 IO window: disabled. MEM window: b0100000-b01fffff PREFETCH window: disabled. PCI: Bridge: 0000:02:00.0 IO window: disabled. MEM window: disabled. PREFETCH window: disabled. PCI: Bridge: 0000:02:00.1 IO window: disabled. MEM window: disabled. PREFETCH window: disabled. PCI: Bridge: 0000:00:0d.0 IO window: disabled. MEM window: b0200000-b02fffff PREFETCH window: disabled. PCI: Failed to allocate mem resource #6:20000@d0000000 for 0000:05:00.0 PCI: Bridge: 0000:00:0f.0 IO window: disabled. MEM window: b1000000-b2ffffff PREFETCH window: c0000000-cfffffff PCI: Setting latency timer of device 0000:00:06.0 to 64 PCI: Setting latency timer of device 0000:00:0d.0 to 64 PCI: Setting latency timer of device 0000:02:00.0 to 64 ACPI: PCI Interrupt Link [LK4E] enabled at IRQ 23 GSI 16 sharing vector 0xA0 and IRQ 16 ACPI: PCI Interrupt 0000:02:00.1[A] -> Link [LK4E] -> GSI 23 (level, high) -> IRQ 16 PCI: Setting latency timer of device 0000:02:00.1 to 64 PCI: Setting latency timer of device 0000:00:0f.0 to 64 PCI: Bridge: 0000:80:0d.0 IO window: disabled. MEM window: disabled. PREFETCH window: disabled. PCI: Setting latency timer of device 0000:80:0d.0 to 64 NET: Registered protocol family 2 IP route cache hash table entries: 131072 (order: 8, 1048576 bytes) TCP established hash table entries: 262144 (order: 10, 4194304 bytes) TCP bind hash table entries: 65536 (order: 8, 1048576 bytes) TCP: Hash tables configured (established 262144 bind 65536) TCP reno registered Simple Boot Flag at 0x36 set to 0x1 audit: initializing netlink socket (disabled) audit(1190986601.880:1): initialized VFS: Disk quotas dquot_6.5.1 Dquot-cache hash table entries: 512 (order 0, 4096 bytes) SELinux: Registering netfilter hooks Initializing Cryptographic API ksign: Installing public key data Loading keyring - Added public key 6162A2834A3D6D8 - User ID: Red Hat, Inc. (Kernel Module GPG key) io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered (default) PCI: Setting latency timer of device 0000:00:0d.0 to 64 assign_interrupt_mode Found MSI capability Allocate Port Service[0000:00:0d.0:pcie00] PCI: Setting latency timer of device 0000:00:0f.0 to 64 assign_interrupt_mode Found MSI capability Allocate Port Service[0000:00:0f.0:pcie00] PCI: Setting latency timer of device 0000:80:0d.0 to 64 assign_interrupt_mode Found MSI capability Allocate Port Service[0000:80:0d.0:pcie00] pci_hotplug: PCI Hot Plug PCI Core version: 0.5 Real Time Clock Driver v1.12ac Non-volatile memory driver v1.2 Linux agpgart interface v0.101 (c) Dave Jones RAMDISK driver initialized: 16 RAM disks of 16384K size 4096 blocksize Xen virtual console successfully installed as ttyS0 Event-channel device installed. Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx NFORCE-MCP55: IDE controller at PCI slot 0000:00:04.0 NFORCE-MCP55: chipset revision 161 NFORCE-MCP55: not 100% native mode: will probe irqs later NFORCE-MCP55: 0000:00:04.0 (rev a1) UDMA133 controller ide0: BM-DMA at 0x3480-0x3487, BIOS settings: hda:DMA, hdb:pio Probing IDE interface ide0... hda: LITE-ON DVDRW LH-18A1P, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Probing IDE interface ide1... ide-floppy driver 0.99.newide usbcore: registered new driver hiddev usbcore: registered new driver usbhid drivers/usb/input/hid-core.c: v2.6:USB HID core driver PNP: PS/2 Controller [PNP0303:KBC0,PNP0f13:MSE0] at 0x60,0x64 irq 1,12 serio: i8042 KBD port at 0x60,0x64 irq 1 serio: i8042 AUX port at 0x60,0x64 irq 12 mice: PS/2 mouse device common for all mice md: md driver 0.90.3 MAX_MD_DEVS=256, MD_SB_DISKS=27 md: bitmap version 4.39 TCP bic registered Initializing IPsec netlink socket NET: Registered protocol family 1 NET: Registered protocol family 17 Write protecting the kernel read-only data: 445k input: AT Translated Set 2 keyboard as /class/input/input0 USB Universal Host Controller Interface driver v3.0 ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI) ACPI: PCI Interrupt Link [LUS0] enabled at IRQ 22 GSI 17 sharing vector 0xA8 and IRQ 17 ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [LUS0] -> GSI 22 (level, high) -> IRQ 17 PCI: Setting latency timer of device 0000:00:02.0 to 64 ohci_hcd 0000:00:02.0: OHCI Host Controller ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 1 ohci_hcd 0000:00:02.0: irq 17, io mem 0xb0004000 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 10 ports detected ACPI: PCI Interrupt Link [LUS2] enabled at IRQ 21 GSI 18 sharing vector 0xB0 and IRQ 18 ACPI: PCI Interrupt 0000:00:02.1[B] -> Link [LUS2] -> GSI 21 (level, high) -> IRQ 18 PCI: Setting latency timer of device 0000:00:02.1 to 64 ehci_hcd 0000:00:02.1: EHCI Host Controller ehci_hcd 0000:00:02.1: new USB bus registered, assigned bus number 2 ehci_hcd 0000:00:02.1: debug port 1 PCI: cache line size of 64 is not supported by device 0000:00:02.1 ehci_hcd 0000:00:02.1: irq 18, io mem 0xb0005000 ehci_hcd 0000:00:02.1: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004 usb usb2: configuration #1 chosen from 1 choice hub 2-0:1.0: USB hub found hub 2-0:1.0: 10 ports detected SCSI subsystem initialized libata version 2.21 loaded. sata_nv 0000:00:05.0: version 3.4 ACPI: PCI Interrupt Link [LTID] enabled at IRQ 20 GSI 19 sharing vector 0xB8 and IRQ 19 ACPI: PCI Interrupt 0000:00:05.0[A] -> Link [LTID] -> GSI 20 (level, high) -> IRQ 19 PCI: Setting latency timer of device 0000:00:05.0 to 64 scsi0 : sata_nv scsi1 : sata_nv ata1: SATA max UDMA/133 cmd 0x00000000000134d0 ctl 0x00000000000134c6 bmdma 0x0000000000013490 irq 19 ata2: SATA max UDMA/133 cmd 0x00000000000134c8 ctl 0x00000000000134c2 bmdma 0x0000000000013498 irq 19 ohci_hcd 0000:00:02.0: wakeup ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) ata1.00: ATA-7: WDC WD1200JS-22MHB0, 02.01C03, max UDMA/133 ata1.00: 234441648 sectors, multi 16: LBA48 ata1.00: configured for UDMA/133 usb 1-6: new low speed USB device using ohci_hcd and address 2 usb 1-6: configuration #1 chosen from 1 choice input: Logitech USB-PS/2 Optical Mouse as /class/input/input1 input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:02.0-6 ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300) ata2.00: ATA-7: WDC WD3200YS-01PGB0, 21.00M21, max UDMA/133 ata2.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 0/1) ata2.00: configured for UDMA/133 Vendor: ATA Model: WDC WD1200JS-22M Rev: 02.0 Type: Direct-Access ANSI SCSI revision: 05 SCSI device sda: 234441648 512-byte hdwr sectors (120034 MB) sda: Write Protect is off sda: Mode Sense: 00 3a 00 00 SCSI device sda: drive cache: write back SCSI device sda: 234441648 512-byte hdwr sectors (120034 MB) sda: Write Protect is off sda: Mode Sense: 00 3a 00 00 SCSI device sda: drive cache: write back sda: sda1 < sda5 sda6 sda7 sda8 > sda2 sda3 sd 0:0:0:0: Attached scsi disk sda Vendor: ATA Model: WDC WD3200YS-01P Rev: 21.0 Type: Direct-Access ANSI SCSI revision: 05 SCSI device sdb: 625142448 512-byte hdwr sectors (320073 MB) sdb: Write Protect is off sdb: Mode Sense: 00 3a 00 00 SCSI device sdb: drive cache: write back SCSI device sdb: 625142448 512-byte hdwr sectors (320073 MB) sdb: Write Protect is off sdb: Mode Sense: 00 3a 00 00 SCSI device sdb: drive cache: write back sdb: sdb1 sd 1:0:0:0: Attached scsi disk sdb ACPI: PCI Interrupt Link [LSI1] enabled at IRQ 19 GSI 20 sharing vector 0xC0 and IRQ 20 ACPI: PCI Interrupt 0000:00:05.1[B] -> Link [LSI1] -> GSI 19 (level, high) -> IRQ 20 PCI: Setting latency timer of device 0000:00:05.1 to 64 scsi2 : sata_nv scsi3 : sata_nv ata3: SATA max UDMA/133 cmd 0x00000000000134e8 ctl 0x00000000000134de bmdma 0x00000000000134a0 irq 20 ata4: SATA max UDMA/133 cmd 0x00000000000134e0 ctl 0x00000000000134da bmdma 0x00000000000134a8 irq 20 ata3: SATA link down (SStatus 0 SControl 300) ata4: SATA link down (SStatus 0 SControl 300) ACPI: PCI Interrupt Link [LSI2] enabled at IRQ 18 GSI 21 sharing vector 0xC8 and IRQ 21 ACPI: PCI Interrupt 0000:00:05.2[C] -> Link [LSI2] -> GSI 18 (level, high) -> IRQ 21 PCI: Setting latency timer of device 0000:00:05.2 to 64 scsi4 : sata_nv scsi5 : sata_nv ata5: SATA max UDMA/133 cmd 0x0000000000013800 ctl 0x00000000000134f6 bmdma 0x00000000000134b0 irq 21 ata6: SATA max UDMA/133 cmd 0x00000000000134f8 ctl 0x00000000000134f2 bmdma 0x00000000000134b8 irq 21 ata5: SATA link down (SStatus 0 SControl 300) ata6: SATA link down (SStatus 0 SControl 300) device-mapper: ioctl: 4.11.0-ioctl (2006-09-14) initialised: dm-devel@redhat.com kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. security: 3 users, 6 roles, 1658 types, 210 bools, 1 sens, 1024 cats security: 61 classes, 57664 rules SELinux: Completing initialization. SELinux: Setting up existing superblocks. SELinux: initialized (dev dm-0, type ext3), uses xattr SELinux: initialized (dev usbfs, type usbfs), uses genfs_contexts SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs SELinux: initialized (dev debugfs, type debugfs), uses genfs_contexts SELinux: initialized (dev selinuxfs, type selinuxfs), uses genfs_contexts SELinux: initialized (dev mqueue, type mqueue), uses transition SIDs SELinux: initialized (dev devpts, type devpts), uses transition SIDs SELinux: initialized (dev eventpollfs, type eventpollfs), uses task SIDs SELinux: initialized (dev inotifyfs, type inotifyfs), uses genfs_contexts SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs SELinux: initialized (dev futexfs, type futexfs), uses genfs_contexts SELinux: initialized (dev pipefs, type pipefs), uses task SIDs SELinux: initialized (dev sockfs, type sockfs), uses task SIDs SELinux: initialized (dev cpuset, type cpuset), not configured for labeling SELinux: initialized (dev proc, type proc), uses genfs_contexts SELinux: initialized (dev bdev, type bdev), uses genfs_contexts SELinux: initialized (dev rootfs, type rootfs), uses genfs_contexts SELinux: initialized (dev sysfs, type sysfs), uses genfs_contexts audit(1190986610.688:2): policy loaded auid=4294967295 input: PC Speaker as /class/input/input2 shpchp: HPC vendor_id 1033 device_id 125 ss_vid 0 ss_did 0 shpchp: Can't get msi for the hotplug controller shpchp: Use INTx for the hotplug controller shpchp: Standard Hot Plug PCI Controller Driver version: 0.4 Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled 8250_pnp: Unknown symbol serial8250_unregister_port 8250_pnp: Unknown symbol serial8250_register_port EDAC MC: Ver: 2.0.1 Sep 27 2007 hda: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 EDAC MC0: Giving out device to k8_edac Athlon64/Opteron: DEV 0000:00:18.2 EDAC MC1: Giving out device to k8_edac Athlon64/Opteron: DEV 0000:00:19.2 i2c_adapter i2c-0: nForce2 SMBus adapter at 0x3440 i2c_adapter i2c-1: nForce2 SMBus adapter at 0x3400 i2c_adapter i2c-2: nForce2 SMBus adapter at 0x4440 i2c_adapter i2c-3: nForce2 SMBus adapter at 0x4400 forcedeth.c: Reverse Engineered nForce ethernet driver. Version 0.60. ACPI: PCI Interrupt Link [LMAC] enabled at IRQ 17 GSI 22 sharing vector 0xD0 and IRQ 22 ACPI: PCI Interrupt 0000:00:08.0[A] -> Link [LMAC] -> GSI 17 (level, high) -> IRQ 22 PCI: Setting latency timer of device 0000:00:08.0 to 64 forcedeth: using HIGHDMA device_create does not work yet for NULL parents device_create does not work yet for NULL parents sd 0:0:0:0: Attached scsi generic sg0 type 0 sd 1:0:0:0: Attached scsi generic sg1 type 0 eth0: forcedeth.c: subsystem: 010f1:2915 bound to 0000:00:08.0 ACPI: PCI Interrupt Link [LAZA] enabled at IRQ 16 GSI 23 sharing vector 0xD8 and IRQ 23 ACPI: PCI Interrupt 0000:00:06.1[B] -> Link [LAZA] -> GSI 16 (level, high) -> IRQ 23 PCI: Setting latency timer of device 0000:00:06.1 to 64 hda_codec: Unknown model for ALC262, trying auto-probe from BIOS... device_create does not work yet for NULL parents device_create does not work yet for NULL parents device_create does not work yet for NULL parents device_create does not work yet for NULL parents ACPI: PCI Interrupt Link [LMA2] enabled at IRQ 23 ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [LMA2] -> GSI 23 (level, high) -> IRQ 16 PCI: Setting latency timer of device 0000:00:09.0 to 64 forcedeth: using HIGHDMA eth1: forcedeth.c: subsystem: 010f1:2915 bound to 0000:00:09.0 lp: driver loaded but no devices found ACPI: Power Button (FF) [PWRF] ACPI: Power Button (CM) [PWRB] ibm_acpi: ec object not found md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. device-mapper: multipath: version 1.0.5 loaded loop: loaded (max 8 devices) EXT3 FS on dm-0, internal journal kjournald starting. Commit interval 5 seconds EXT3 FS on sda6, internal journal EXT3-fs: mounted filesystem with ordered data mode. SELinux: initialized (dev sda6, type ext3), uses xattr SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs kjournald starting. Commit interval 5 seconds EXT3 FS on dm-2, internal journal EXT3-fs: mounted filesystem with ordered data mode. SELinux: initialized (dev dm-2, type ext3), uses xattr kjournald starting. Commit interval 5 seconds EXT3 FS on dm-5, internal journal EXT3-fs: mounted filesystem with ordered data mode. SELinux: initialized (dev dm-5, type ext3), uses xattr kjournald starting. Commit interval 5 seconds EXT3 FS on dm-1, internal journal EXT3-fs: mounted filesystem with ordered data mode. SELinux: initialized (dev dm-1, type ext3), uses xattr kjournald starting. Commit interval 5 seconds EXT3 FS on dm-6, internal journal EXT3-fs: mounted filesystem with ordered data mode. SELinux: initialized (dev dm-6, type ext3), uses xattr SELinux: initialized (dev binfmt_misc, type binfmt_misc), uses genfs_contexts NET: Registered protocol family 10 lo: Disabled Privacy Extensions IPv6 over IPv4 tunneling driver ip6_tables: (C) 2000-2006 Netfilter Core Team ip_tables: (C) 2000-2006 Netfilter Core Team Netfilter messages via NETLINK v0.30. ip_conntrack version 2.4 (8192 buckets, 65536 max) - 304 bytes per conntrack process `sysctl' is using deprecated sysctl (syscall) net.ipv6.neigh.lo.retrans_time; Use net.ipv6.neigh.lo.retrans_time_ms instead. SELinux: initialized (dev rpc_pipefs, type rpc_pipefs), uses genfs_contexts Bluetooth: Core ver 2.10 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized Bluetooth: L2CAP ver 2.8 Bluetooth: L2CAP socket layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM ver 1.8 Bluetooth: HIDP (Human Interface Emulation) ver 1.1 SELinux: initialized (dev autofs, type autofs), uses genfs_contexts SELinux: initialized (dev autofs, type autofs), uses genfs_contexts SELinux: initialized (dev autofs, type autofs), uses genfs_contexts eth0: no IPv6 routers present Bridge firewalling registered virbr0: no IPv6 routers present device vif0.0 entered promiscuous mode xenbr0: port 1(vif0.0) entering learning state xenbr0: topology change detected, propagating xenbr0: port 1(vif0.0) entering forwarding state device peth0 entered promiscuous mode xenbr0: port 2(peth0) entering learning state xenbr0: topology change detected, propagating xenbr0: port 2(peth0) entering forwarding state eth0: no IPv6 routers present
-- Elizabeth Kon (Beth) IBM Linux Technology Center Open Hypervisor Team email: eak@us.ibm.com

beth kon wrote:
Richard W.M. Jones wrote:
My results are a bit inconclusive. I have a machine here which supposedly supports NUMA (2 socket, 2 core AMD with hypertransport and two separate banks of RAM).
BIOS is _not_ configured to interleave memory. Other BIOS settings lead me to suppose that NUMA is enabled (or at least not disabled).
Booting with Daniel's Xen & kernel does not give any messages about NUMA enabled or disabled. (See attached messages).
# numactl --show physcpubind: 0 1 2 3 No NUMA support available on this system.
Are you setting "numa=on dom0_mem=512m" on the kernel line in grub? I'm not sure if the dom0_mem=512m should be required but we were having problems when trying to boot numa without it.
Aha, the results are quite a bit better now :-) virsh shows the correct topology: <topology> <cells num='2'> <cell id='0'> <cpus num='2'> <cpu id='0'/> <cpu id='1'/> </cpus> </cell> <cell id='1'> <cpus num='2'> <cpu id='2'/> <cpu id='3'/> </cpus> </cell> </cells> </topology> numactl --show still doesn't work (missing support in dom0 kernel or is this just completely incompatible with Xen?) 'virsh freecell 0' and 'virsh freecell 1' show numbers which are plausible (I have no idea if they're actually correct though). Can I pin a domain or vCPU to memory to see if that works? Rich. -- Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/ Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 03798903

Richard W.M. Jones wrote:
beth kon wrote:
Richard W.M. Jones wrote:
My results are a bit inconclusive. I have a machine here which supposedly supports NUMA (2 socket, 2 core AMD with hypertransport and two separate banks of RAM).
BIOS is _not_ configured to interleave memory. Other BIOS settings lead me to suppose that NUMA is enabled (or at least not disabled).
Booting with Daniel's Xen & kernel does not give any messages about NUMA enabled or disabled. (See attached messages).
# numactl --show physcpubind: 0 1 2 3 No NUMA support available on this system.
Are you setting "numa=on dom0_mem=512m" on the kernel line in grub? I'm not sure if the dom0_mem=512m should be required but we were having problems when trying to boot numa without it.
Aha, the results are quite a bit better now :-)
virsh shows the correct topology:
<topology> <cells num='2'> <cell id='0'> <cpus num='2'> <cpu id='0'/> <cpu id='1'/> </cpus> </cell> <cell id='1'> <cpus num='2'> <cpu id='2'/> <cpu id='3'/> </cpus> </cell> </cells> </topology>
numactl --show still doesn't work (missing support in dom0 kernel or is this just completely incompatible with Xen?)
'virsh freecell 0' and 'virsh freecell 1' show numbers which are plausible (I have no idea if they're actually correct though).
Can I pin a domain or vCPU to memory to see if that works?
Rich.
From /etc/xen/xmexample1: # List of which CPUS this domain is allowed to use, default Xen picks #cpus = "" # leave to Xen to pick #cpus = "0" # all vcpus run on CPU0 #cpus = "0-3,5,^1" # run on cpus 0,2,3,5 If you start a domU with a config set up this way, you can specify that it run only on node 0 or 1, and then watch the freecell before and after starting and confirm that the memory was taken from the right node. -- Elizabeth Kon (Beth) IBM Linux Technology Center Open Hypervisor Team email: eak@us.ibm.com

* Richard W.M. Jones <rjones@redhat.com> [2007-09-28 11:20]:
beth kon wrote:
Richard W.M. Jones wrote:
My results are a bit inconclusive. I have a machine here which supposedly supports NUMA (2 socket, 2 core AMD with hypertransport and two separate banks of RAM).
BIOS is _not_ configured to interleave memory. Other BIOS settings lead me to suppose that NUMA is enabled (or at least not disabled).
Booting with Daniel's Xen & kernel does not give any messages about NUMA enabled or disabled. (See attached messages).
# numactl --show physcpubind: 0 1 2 3 No NUMA support available on this system.
Are you setting "numa=on dom0_mem=512m" on the kernel line in grub? I'm not sure if the dom0_mem=512m should be required but we were having problems when trying to boot numa without it.
Aha, the results are quite a bit better now :-)
virsh shows the correct topology:
<topology> <cells num='2'> <cell id='0'> <cpus num='2'> <cpu id='0'/> <cpu id='1'/> </cpus> </cell> <cell id='1'> <cpus num='2'> <cpu id='2'/> <cpu id='3'/> </cpus> </cell> </cells> </topology>
numactl --show still doesn't work (missing support in dom0 kernel or is this just completely incompatible with Xen?)
Currently Xen doesn't export any per-domain topology (say a virtual SRAT table), nor the entire system topology; the goal of the current Xen NUMA code is to ensure that domains have local resources within a numa-node.
'virsh freecell 0' and 'virsh freecell 1' show numbers which are plausible (I have no idea if they're actually correct though).
Can I pin a domain or vCPU to memory to see if that works?
Rich.
-- Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/ Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 03798903
-- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
-- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com

On Fri, Sep 28, 2007 at 02:52:51PM +0100, Richard W.M. Jones wrote:
# src/virsh capabilities [...] <topology> <cells num='1'> <cell id='0'> <cpus num='4'> <cpu id='0'/> <cpu id='1'/> <cpu id='2'/> <cpu id='3'/> </cpus> </cell> </cells> </topology>
Do we really need such verbose XML. At the very least the 'num' attribute is redundant, since you can trivially do count(/topology/cells/cell) or count(/topology/cells/cell[@id=0]/cpus/cpu) XPath exprs in both cases. The addition of extra tags every time we have a list is not the style we have normally used in libvirt. eg, we don't use <disks> <disk> .. </disk> <disk> .. </disk> </disk> to surround the list of disks in a domain. I'd prefer to see it looking more like this: <topology> <cell id='0'> <cpu id='0'/> <cpu id='1'/> <cpu id='2'/> <cpu id='3'/> </cell> </topology> Regards, Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|

Daniel P. Berrange wrote:
On Fri, Sep 28, 2007 at 02:52:51PM +0100, Richard W.M. Jones wrote:
# src/virsh capabilities [...] <topology> <cells num='1'> <cell id='0'> <cpus num='4'> <cpu id='0'/> <cpu id='1'/> <cpu id='2'/> <cpu id='3'/> </cpus> </cell> </cells> </topology>
Do we really need such verbose XML. At the very least the 'num' attribute is redundant, since you can trivially do count(/topology/cells/cell) or count(/topology/cells/cell[@id=0]/cpus/cpu) XPath exprs in both cases.
The addition of extra tags every time we have a list is not the style we have normally used in libvirt. eg, we don't use
<disks> <disk> .. </disk> <disk> .. </disk> </disk>
to surround the list of disks in a domain.
I'd prefer to see it looking more like this:
<topology> <cell id='0'> <cpu id='0'/> <cpu id='1'/> <cpu id='2'/> <cpu id='3'/> </cell> </topology>
Regards, Dan.
That would simplify the code since the counts wouldn't need to be known up front. This was the format suggested by Daniel V and I used it, assuming he knows more about libvirt's desired/required xml structure. -- Elizabeth Kon (Beth) IBM Linux Technology Center Open Hypervisor Team email: eak@us.ibm.com

On Fri, Sep 28, 2007 at 03:45:31PM +0100, Daniel P. Berrange wrote:
On Fri, Sep 28, 2007 at 02:52:51PM +0100, Richard W.M. Jones wrote:
# src/virsh capabilities [...] <topology> <cells num='1'> <cell id='0'> <cpus num='4'> <cpu id='0'/> <cpu id='1'/> <cpu id='2'/> <cpu id='3'/> </cpus> </cell> </cells> </topology>
Do we really need such verbose XML. At the very least the 'num' attribute is redundant, since you can trivially do count(/topology/cells/cell) or count(/topology/cells/cell[@id=0]/cpus/cpu) XPath exprs in both cases.
The addition of extra tags every time we have a list is not the style we have normally used in libvirt. eg, we don't use
<disks> <disk> .. </disk> <disk> .. </disk> </disk>
to surround the list of disks in a domain.
I'd prefer to see it looking more like this:
<topology> <cell id='0'> <cpu id='0'/> <cpu id='1'/> <cpu id='2'/> <cpu id='3'/> </cell> </topology>
I explained why I preferred a more structured approach and the <cells> construction when I made the proposal https://www.redhat.com/archives/libvir-list/2007-September/msg00015.html basically you may hit hierachical topologies which are not flat. If you want to remove the nums= that mean that from an user perspective if you use a streaming interface (like SAX) you can't know a priori the size of the arrays you need to allocate to fill the information. I prefer something a bit more verbose and a bit more complex to generate but more flexible in its use. For me <cells> can't go away for structural needs and the count is for the number of children at that level not at all levels. We could get rid of <cpus> but <cpus num='4'> <cpu id='0'/> <cpu id='1'/> <cpu id='3'/> </cpus> could allow things like description in hotplug CPUs situations where the structure/topology does not change but the content does. Since that part is rather experimental, I prefer to have more structure than what may looks like sticly necessary right now but have provisions for the future. Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillard@redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
participants (5)
-
beth kon
-
Daniel P. Berrange
-
Daniel Veillard
-
Richard W.M. Jones
-
Ryan Harper