[libvirt] [RFC v3 PATCH 0/5] PowerPC : Extend libvirt for the PowerPC-KVM platform
Stefan Berger
stefanb at linux.vnet.ibm.com
Tue Nov 29 16:39:09 UTC 2011
On 11/29/2011 09:55 AM, Prerna Saxena wrote:
> Recent development in KVM for 64-bit Power ISA Book3S machines, allows
> users to run multiple KVM guest instances on POWER7 and PPC970
> processor based systems. Also qemu-system-ppc64 has been enhanced to
> support a new machine type "pseries" suitable for Power Book3S machines.
> This addition effectively brings the KVM+qemu combination to run
> multiple guest instances on a Power Book3S machine.
I applied this patch series on an x86 machine and ran 'make check'. I
now have two tests failing due to it not making use of the proc
filesystem entries anymore...
TEST: nodeinfotest
Expect 39 'CPUs: 2, MHz: 2800, Nodes: 1, Cores: 2
'
Actual 39 'CPUs: 8, MHz: 2800, Nodes: 1, Cores: 4
'
!Expect 39 'CPUs: 2, MHz: 2211, Nodes: 1, Cores: 2
'
Actual 39 'CPUs: 8, MHz: 2211, Nodes: 1, Cores: 4
'
!Expect 39 'CPUs: 4, MHz: 1595, Nodes: 1, Cores: 2
'
Actual 39 'CPUs: 8, MHz: 1595, Nodes: 1, Cores: 4
'
!Expect 39 'CPUs: 4, MHz: 1000, Nodes: 1, Cores: 4
'
Actual 39 'CPUs: 8, MHz: 1000, Nodes: 1, Cores: 4
'
!Expect 39 'CPUs: 4, MHz: 2814, Nodes: 1, Cores: 2
'
Actual 39 'CPUs: 8, MHz: 2814, Nodes: 1, Cores: 4
'
!Expect 39 'CPUs: 4, MHz: 1000, Nodes: 1, Cores: 2
'
Actual 39 'CPUs: 8, MHz: 1000, Nodes: 1, Cores: 4
'
! 6 FAIL
FAIL: nodeinfotest
[...]
TEST: qemuargv2xmltest
/bin/sh: line 5: 875 Segmentation fault (core dumped)
abs_top_builddir=`cd '..'; pwd` abs_top_srcdir=`cd '..'; pwd`
abs_builddir=`pwd` abs_srcdir=`cd '.'; pwd` CONFIG_HEADER="`cd '..';
pwd`/config.h" PATH="`cd '..'; pwd`/daemon:`cd '..'; pwd`/tools:`cd
'..'; pwd`/tests:$PATH" SHELL="/bin/sh"
LIBVIRT_DRIVER_DIR="/root/tmp/libvirt-acl/src/.libs" LC_ALL=C ${dir}$tst
FAIL: qemuargv2xmltest
I had 'export DEBUG_TESTS=1' set to see the debugging info on the
nodeinfo test.
The qemuargv2xmltest fails due to the following:
0x00000038ec32e334 in __strcmp_ssse3 () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install
augeas-libs-0.9.0-1.fc14.x86_64 avahi-libs-0.6.27-8.fc14.x86_64
cyrus-sasl-lib-2.1.23-12.fc14.x86_64 dbus-libs-1.4.0-3.fc14.x86_64
device-mapper-libs-1.02.63-2.fc14.x86_64 glibc-2.13-2.x86_64
gnutls-2.8.6-2.fc14.x86_64 keyutils-libs-1.2-6.fc12.x86_64
krb5-libs-1.8.4-2.fc14.x86_64 libcap-ng-0.6.5-1.fc14.x86_64
libcom_err-1.41.12-6.fc14.x86_64 libcurl-7.21.0-10.fc14.x86_64
libgcc-4.5.1-4.fc14.x86_64 libgcrypt-1.4.5-4.fc13.x86_64
libgpg-error-1.9-1.fc14.x86_64 libidn-1.18-1.fc14.x86_64
libpcap-1.1.1-3.fc14.x86_64 libselinux-2.0.96-6.fc14.1.x86_64
libsepol-2.0.41-3.fc14.x86_64 libssh2-1.2.4-1.fc14.x86_64
libtasn1-2.7-1.fc14.x86_64 libudev-161-10.fc14.x86_64
libxml2-2.7.7-3.fc14.x86_64 libxslt-1.1.26-3.fc14.x86_64
netcf-libs-0.1.9-1.fc14.x86_64 nspr-4.8.8-1.fc14.x86_64
nss-3.12.10-4.fc14.x86_64 nss-softokn-freebl-3.12.10-1.fc14.x86_64
nss-util-3.12.10-1.fc14.x86_64 numactl-2.0.3-8.fc13.x86_64
openldap-2.4.23-10.fc14.x86_64 openssl-1.0.0e-1.fc14.x86_64
xen-libs-4.0.2-1.fc14.x86_64 yajl-1.0.7-3.fc13.x86_64
zlib-1.2.5-2.fc14.x86_64
(gdb) up
#1 0x000000000042d56c in qemuParseCommandLine (caps=0x9b94a0,
progenv=0x9badc0, progargv=0x9bae00, pidfile=0x0, monConfig=0x0,
monJSON=0x0)
at qemu/qemu_command.c:6694
6694 if (STREQ(def->os.arch, "i686")||STREQ(def->os.arch, "x86_64"))
(gdb) print def->os
$1 = {type = 0x0, arch = 0x0, machine = 0x0, nBootDevs = 0, bootDevs =
{0, 0, 0, 0}, bootmenu = 0, init = 0x0, kernel = 0x0, initrd = 0x0,
cmdline = 0x0, root = 0x0, loader = 0x0, bootloader = 0x0,
bootloaderArgs = 0x0, smbios_mode = 0, bios = {useserial = 0}}
I looked on a RHEL 5 machine (i686). The sysfs at least is there.
Stefan
> Libvirt continues to be the key interface to configure and manage the
> KVM guest instances on x86. This patch set is an effort to enable
> libvirt to support KVM guest configuration and management on Power Book3S
> machines.
>
> Based on community discussion around the earlier version, this patch
> series augments the present 'kvm' driver to support PowerPC-KVM based
> guests.Since some of the supported devices vary between architectures,
> libvirt must be capable of choosing supported device backends and
> defaults for each architecture in qemu.
>
> To check if qemu supports a certain feature, libvirt at present parses
> the -help string which is generated by running the qemu binary with the
> '-h' argument. This approach is gated by QEMU's inherent limitation.
> When generating the list of allowed options with the '-h' flags, qemu
> today blindly lists all options defined for any architecture/platform
> instead of doing any arch-specific checking. This tricks libvirt into
> assuming a much bigger set of host capabilities than is actually
> available.
> Ideally, it would be good to have qemu specify a list of devices for a
> given architecture and platform which libvirt can parse to understand
> supported capabilities for that guest.
>
> As a part of this patchset, there is an attempt to cleanly bifurcate
> libvirt code and to remove x86-specific assumptions from generic qemu
> commandline code.
>
> Series Description:
> -------------------
> This patch series consists of 5 patches :
> Patch 1/5 : Use sysfs to gather host topology in place of /proc/cpuinfo.
> Patch 2/5 : Add PowerPC CPU Driver
> Patch 3/5 : Add support for qemu-system-ppc64
> Patch 4/5 : Clean up x86-specific assumptions from generic qemu code.
> Patch 5/5 : Add address family "spapr-vio"
>
> Changelog:
> ---------
> ** v1->v2 :
> * Patches 1,2,3 unchanged ; The hacks in Patch 4 of v1 replaced by a
> new patch to neatly select arch-specific features.
>
> ** v2->v3 :
> * Patches 1,2,3 have minor cleanups ; Patch 4 no longer has an
> arch-specific handler routine. It is now replaced by a much simpler
> patch that merely removes x86/pc-specific assumptions from libvirt.
>
> ** v3->v4 :
> * Patches 1,2,3,4 unchanged ; patch 5 is a new addition from Michael Ellerman
> that adds a new device-tree based addressing mechanism for the 'pseries'
> guest.
>
>
More information about the libvir-list
mailing list