Re: [Qemu-devel] [PATCH v3 00/13] pc: q35: x2APIC support in kvm_apic mode
On Thu, 13 Oct 2016 21:05:54 -0700 (PDT) no-re...@ec2-52-6-146-230.compute-1.amazonaws.com wrote: > Hi, > > Your series failed automatic build test. Please find the testing commands and > their output below. If you have docker installed, you can probably reproduce > it > locally. [..] > /tmp/qemu-test/src/hw/i386/pc.c: In function ‘pc_machine_done’: > /tmp/qemu-test/src/hw/i386/pc.c:1273: error: ‘IntelIOMMUState’ has no member > named ‘intr_eim’ > make[1]: *** [hw/i386/pc.o] Error 1 That's due to dependency on not yet merged EIM fixes series
Re: [Qemu-devel] [PATCH v3 00/13] pc: q35: x2APIC support in kvm_apic mode
Hi, Your series failed automatic build test. Please find the testing commands and their output below. If you have docker installed, you can probably reproduce it locally. Type: series Message-id: 1476352367-69400-1-git-send-email-imamm...@redhat.com Subject: [Qemu-devel] [PATCH v3 00/13] pc: q35: x2APIC support in kvm_apic mode === TEST SCRIPT BEGIN === #!/bin/bash set -e git submodule update --init dtc # Let docker tests dump environment info export SHOW_ENV=1 export J=16 make docker-test-quick@centos6 make docker-test-mingw@fedora === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 Switched to a new branch 'test' bca661e pc: q35: bump max_cpus to 288 17f6729 pc: require IRQ remapping and EIM if there could be x2APIC CPUs 8fc45a4 pc: add 'etc/boot-cpus' fw_cfg file for machine with more than 255 CPUs a7d6417 increase MAX_CPUMASK_BITS from 255 to 288 b03673c pc: clarify FW_CFG_MAX_CPUS usage comment f71d194 pc: kvm_apic: pass APIC ID depending on xAPIC/x2APIC mode 87d9001 pc: apic_common: reset APIC ID to initial ID when switching into x2APIC mode 426abcf pc: apic_common: restore APIC ID to initial ID on reset 9cb56de pc: apic_common: extend APIC ID property to 32bit 489db69 pc: leave max apic_id_limit only in legacy cpu hotplug code a503ed4 acpi: cphp: force switch to modern cpu hotplug if APIC ID > 254 4899cb1 acpi: cphp: support x2APIC entry in cpu._MAT b9fe39d pc: acpi: x2APIC support for SRAT table 4ffb548 pc: acpi: x2APIC support for MADT table === OUTPUT BEGIN === Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into 'dtc'... Submodule path 'dtc': checked out '65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf' BUILD centos6 ARCHIVE qemu.tgz ARCHIVE dtc.tgz COPYRUNNER RUN test-quick in centos6 Packages installed: SDL-devel-1.2.14-7.el6_7.1.x86_64 ccache-3.1.6-2.el6.x86_64 epel-release-6-8.noarch gcc-4.4.7-17.el6.x86_64 git-1.7.1-4.el6_7.1.x86_64 glib2-devel-2.28.8-5.el6.x86_64 libfdt-devel-1.4.0-1.el6.x86_64 make-3.81-23.el6.x86_64 package g++ is not installed pixman-devel-0.32.8-1.el6.x86_64 tar-1.23-15.el6_8.x86_64 zlib-devel-1.2.3-29.el6.x86_64 Environment variables: PACKAGES=libfdt-devel ccache tar git make gcc g++ zlib-devel glib2-devel SDL-devel pixman-devel epel-release HOSTNAME=b7cb6513802f TERM=xterm MAKEFLAGS= -j16 HISTSIZE=1000 J=16 USER=root CCACHE_DIR=/var/tmp/ccache EXTRA_CONFIGURE_OPTS= V= SHOW_ENV=1 MAIL=/var/spool/mail/root PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ LANG=en_US.UTF-8 TARGET_LIST= HISTCONTROL=ignoredups SHLVL=1 HOME=/root TEST_DIR=/tmp/qemu-test LOGNAME=root LESSOPEN=||/usr/bin/lesspipe.sh %s FEATURES= dtc DEBUG= G_BROKEN_FILENAMES=1 CCACHE_HASHDIR= _=/usr/bin/env Configure options: --enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/var/tmp/qemu-build/install No C++ compiler available; disabling C++ specific optional code Install prefix/var/tmp/qemu-build/install BIOS directory/var/tmp/qemu-build/install/share/qemu binary directory /var/tmp/qemu-build/install/bin library directory /var/tmp/qemu-build/install/lib module directory /var/tmp/qemu-build/install/lib/qemu libexec directory /var/tmp/qemu-build/install/libexec include directory /var/tmp/qemu-build/install/include config directory /var/tmp/qemu-build/install/etc local state directory /var/tmp/qemu-build/install/var Manual directory /var/tmp/qemu-build/install/share/man ELF interp prefix /usr/gnemul/qemu-%M Source path /tmp/qemu-test/src C compilercc Host C compiler cc C++ compiler Objective-C compiler cc ARFLAGS rv CFLAGS-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g QEMU_CFLAGS -I/usr/include/pixman-1-pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all LDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g make make install install pythonpython -B smbd /usr/sbin/smbd module supportno host CPU x86_64 host big endian no target list x86_64-softmmu aarch64-softmmu tcg debug enabled no gprof enabled no sparse enabledno strip binariesyes profiler no static build no pixmansystem SDL support yes (1.2.14) GTK support no GTK GL supportno VTE support no TLS priority NORMAL GNUTLS supportno GNUTLS rndno libgcrypt no libgcrypt kdf no nettleno nettle
Re: [Qemu-devel] [PATCH v3 00/13] pc: q35: x2APIC support in kvm_apic mode
On Do, 2016-10-13 at 12:01 +0200, Paolo Bonzini wrote: > > On 13/10/2016 11:52, Igor Mammedov wrote: > > To play with the feature, one would also need x2apic enabled > > seabios counterpart: > > https://github.com/imammedo/seabios.git x2apic_v4 > > Is this going to make it into seabios 1.10? seabios patches are basically ready and are waiting for the qemu patches being merged. So, yes, if this series gets reviewed and merged quickly it should be able to make 1.10 cheers, Gerd
Re: [Qemu-devel] [PATCH v3 00/13] pc: q35: x2APIC support in kvm_apic mode
On Thu, 13 Oct 2016 12:01:48 +0200 Paolo Bonziniwrote: > On 13/10/2016 11:52, Igor Mammedov wrote: > > To play with the feature, one would also need x2apic enabled > > seabios counterpart: > > https://github.com/imammedo/seabios.git x2apic_v4 > > Is this going to make it into seabios 1.10? The only dependency here is a new fwcfg file etc/boot-cpus which so far (RFC-v2) haven't risen any questions/complains from QEMU/SeabIOS sides, so we could assume that it won't change and merge SeaBIOS side first. BTW: I'm going to respin SeaBIOS side today dropping per Kevin's suggestion [PATCH v4 3/5] error out if present cpus count changed during SMP bringup > Paolo
Re: [Qemu-devel] [PATCH v3 00/13] pc: q35: x2APIC support in kvm_apic mode
On 13/10/2016 11:52, Igor Mammedov wrote: > To play with the feature, one would also need x2apic enabled > seabios counterpart: > https://github.com/imammedo/seabios.git x2apic_v4 Is this going to make it into seabios 1.10? Paolo
[Qemu-devel] [PATCH v3 00/13] pc: q35: x2APIC support in kvm_apic mode
Changes since v2: - rebase on top of EIM fixes - drop kvm_has_x2apic_ids() and reuse kvm_enable_x2apic() from Radim's EIM fixes - fix hang on reboot in BIOS due to not updated 'etc/boot-cpus' fwcfg file after CPU hotplug - drop not used anymore pc_present_cpus_count() and incrementally count present VCPUs as they are added/removed at (un)plug callbacks time Changes since v1: - rebase on top of 2.7 - drop add 2.8 machine and linux headers update patches - drop numa related patches (will post separately as unrelated) - change default mc->maxcpus only for q35 Changes since RFC: - use new KVM_CAP_X2APIC_API to detect x2APIC IDs support - rebase on top of 2.7-rc1, since many deps were merged - fix etc/boot-cpus to account for -device provided cpus - include not yet merged _PXM fix as prereq - add 2.8 machine type and bump up maxcpus count since it Series extends current CPU/kvm_apic/Q35 machine code to support x2APIC and upto 288 VCPUs when QEMU is used with KVM's lapic. Due to FW_CFG_MAX_CPUS (which is actually apic_id_limit) being limited to uint16_t, the max possible APIC ID is limitted to 2^16 with this series but that should be sufficient for bumping VCPUs number for quite a while. Not yet fixed x2APIC issues: CPU hotplug doesn't work for CPUs where APIC ID > 254 (guest has to be rebooted to pickup hotplugged CPUs) due to kernel_irqchip loosing directed IPIs (INIT/SIPI) to APICs above 254 as a hotplugged CPU is in after power-on state (i.e. not in x2APIC mode). Radim's going to post KVM patch to fix it and on top of it I'll post a followup QEMU sanity check patch to detect if host supports directed IPIs to CPUs with APIC IDs above 254 in after power-on state. Tested with following CLI: QEMU -M q35 -enable-kvm \ -device intel-iommu,intremap=on,eim=on -machine kernel_irqchip=split \ -smp 1,sockets=9,cores=32,threads=1,maxcpus=288 \ -device qemu64-x86_64-cpu,socket-id=8,core-id=30,thread-id=0 \ -bios x2apic_bios.bin v2 for reference: [PATCH v2 00/14] pc: q35: x2APIC support in kvm_apic mode https://lists.gnu.org/archive/html/qemu-devel/2016-09/msg05630.html Depends on following series: [PATCH v5 0/7] intel_iommu: fix EIM https://lists.gnu.org/archive/html/qemu-devel/2016-10/msg01981.html git gree for testing: https://github.com/imammedo/qemu.git x2apic_v3 To play with the feature, one would also need x2apic enabled seabios counterpart: https://github.com/imammedo/seabios.git x2apic_v4 Cc: kra...@redhat.com, Cc: ehabk...@redhat.com, Cc: liuxiaoji...@huawei.com, Cc: m...@redhat.com, Cc: rkrc...@redhat.com, Cc: pet...@redhat.com, Cc: ke...@koconnor.net, Cc: pbonz...@redhat.com, Cc: ler...@redhat.com, Cc: chao@intel.com Igor Mammedov (13): pc: acpi: x2APIC support for MADT table pc: acpi: x2APIC support for SRAT table acpi: cphp: support x2APIC entry in cpu._MAT acpi: cphp: force switch to modern cpu hotplug if APIC ID > 254 pc: leave max apic_id_limit only in legacy cpu hotplug code pc: apic_common: extend APIC ID property to 32bit pc: apic_common: restore APIC ID to initial ID on reset pc: apic_common: reset APIC ID to initial ID when switching into x2APIC mode pc: kvm_apic: pass APIC ID depending on xAPIC/x2APIC mode pc: clarify FW_CFG_MAX_CPUS usage comment increase MAX_CPUMASK_BITS from 255 to 288 pc: add 'etc/boot-cpus' fw_cfg file for machine with more than 255 CPUs pc: require IRQ remapping and EIM if there could be x2APIC CPUs include/hw/acpi/acpi-defs.h | 29 +++ include/hw/i386/apic_internal.h | 3 +- include/hw/i386/pc.h| 2 + include/sysemu/sysemu.h | 2 +- target-i386/cpu.h | 1 + hw/acpi/cpu.c | 5 ++ hw/acpi/cpu_hotplug.c | 17 -- hw/arm/virt.c | 2 +- hw/i386/acpi-build.c| 112 hw/i386/kvm/apic.c | 12 - hw/i386/pc.c| 74 ++ hw/intc/apic_common.c | 52 ++- hw/ppc/spapr.c | 2 +- target-i386/cpu.c | 2 +- 14 files changed, 236 insertions(+), 79 deletions(-) -- 2.7.4