Bug 1271495

Summary: When try mem slots more than 256 and specify the maxcpus=240, qemu will print warning.
Product: Red Hat Enterprise Linux 7 Reporter: Qian Guo <qiguo>
Component: qemu-kvm-rhevAssignee: Igor Mammedov <imammedo>
Status: CLOSED NOTABUG QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2CC: hhuang, jinzhao, juzhang, michen, virt-maint, xfu
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-14 15:08:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Qian Guo 2015-10-14 07:24:13 UTC
Description of problem:
In fact, if the mem slots are set more than 206, then set the maxcpus=240, the qemu will prompts:
qemu-kvm: Warning: ACPI tables are larger than 64k.
qemu-kvm: Warning: migration may not work.
qemu-kvm: Warning: please remove CPUs, NUMA nodes, memory slots or PCI bridges.
qemu-kvm: Warning: ACPI tables are larger than 64k.
qemu-kvm: Warning: migration may not work.
qemu-kvm: Warning: please remove CPUs, NUMA nodes, memory slots or PCI bridges.


But the cpus is not actually equals 240(just set smp=1), so qemu should not tell that the table is out of range. If need, it should refuse to boot when the actual vcpus are larger than 240, or refuse to hotplug the cpu numbers that may break the range.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
situation 1:
1.Boot with mem slots over 206 and smp=1 and set maxcpus=240
# /usr/libexec/qemu-kvm -smp 1,cores=1,sockets=1,threads=1,maxcpus=240     -m 16G,slots=256,maxmem=40G 

situation 2:
1. Boot with mem slots 256 and smp 240.

# /usr/libexec/qemu-kvm -smp 240     -m 16G,slots=256,maxmem=40G VNC server running on `::1:5900'
qemu-kvm: Warning: ACPI tables are larger than 64k.
qemu-kvm: Warning: migration may not work.
qemu-kvm: Warning: please remove CPUs, NUMA nodes, memory slots or PCI bridges.
qemu-kvm: Warning: ACPI tables are larger than 64k.
qemu-kvm: Warning: migration may not work.
qemu-kvm: Warning: please remove CPUs, NUMA nodes, memory slots or PCI bridges.



Actual results:
For Both situation:
the qemu prompts as followings, but not quit.

qemu-kvm: Warning: ACPI tables are larger than 64k.
qemu-kvm: Warning: migration may not work.
qemu-kvm: Warning: please remove CPUs, NUMA nodes, memory slots or PCI bridges.
qemu-kvm: Warning: ACPI tables are larger than 64k.
qemu-kvm: Warning: migration may not work.
qemu-kvm: Warning: please remove CPUs, NUMA nodes, memory slots or PCI bridges.


2.

Expected results:
For situation 1, should not prompts, due to it does not break the range.

For situation 2, should not boot up, qemu should refuse to boot up due to the acpi tables are larger than 64k.

Additional info:

Comment 2 Igor Mammedov 2015-10-14 15:08:38 UTC
ACPI table size depends on 'possible' number of CPUs or memory slots, which is what 'maxcpus' and 'slots' and these possible devices must be present in
ACPI tables for hotplug to be operational.

Warnings warn user that migration 'may" not work, and that only true for backwards migration to a QEMU in releases earlier than 7.2.

Warnings are introduced intentionally to warn about possible broken migration
instead of silently trying to run with the broken configuration as it is in 7.1 and earlier releases.