Package: qemu-system-x86 Version: 1:2.1+dfsg-12+deb8u6 Severity: normal Dear Maintainer,
Qemu-KVM Memory allocations > 16GB don't work right. I don't know exactly where this bug resides (qemu-system-x86, qemu-kvm, seabios???) Any configuration > 16GB lead to an unpopulated final DIMM slot and incorrect memory count Asked For Got --------- --- 2GB 2GB 4GB 4GB 8GB 8GB 16GB 16GB* 32GB 16GB 64GB 48GB 128GB 112GB *Special case, asking for 16GB gets 16GB but DMI claims the singular DIMM slot on the system is EMPTY?!?!? The QEMU running command in this special case is: qemu-system-x86 -enable-kvm -name testing -S -machine pc-q35-2.1,accel=kvm,usb=off -cpu Broadwell,+invtsc,+abm,+pdpe1gb,+rdrand,+f16c,+osxsave,+dca,+pdcm,+xtpr,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme -m 16384 -realtime mlock=off -smp 8,sockets=8,cores=1,threads=1 -uuid 834c942a-e29e-40df-b6eb-e5288cc62e7c -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/testing.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot order=c,menu=on,strict=on -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 -device virtio-serial-pci,id=virtio-serial0,bus=pci.2,addr=0x4 -drive file=/VMDATA/Disk_Images/testing-os.img,if=none,id=drive-virtio-disk0,format=raw -device virtio-blk-pci,scsi=off! ,bus=pci.2,addr=0x2,drive=drive-virtio-disk0,id=virtio-disk0 -netdev tap,fd=24,id=hostnet0,vhost=on,vhostfd=25 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:fb:d3:c2,bus=pci.2,addr=0x3 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 -spice port=5900,addr=127.0.0.1,seamless-migration=on -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,bus=pcie.0,addr=0x1 -device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x1 -device pvpanic,ioport=1285 -msg timestamp=on specifically with '-m 16384'. Other configurations below just alter the '-m' option (and nothing else) ---------- ++ specify 2GB (2048MB) current/max and get: # dmidecode -t memory | grep -e 'Maximum Capacity' -e 'Number Of Devices' Maximum Capacity: 2 GB Number Of Devices: 1 # dmidecode -t memory | sed -ne '/Memory Device/,/Part Number/ { /Size:/h; /^[[:space:]]*Locator:/ {p;x;p}; /Speed:/p}' | paste - - - | tr -s '\t' | expand -t 1,20,50 Locator: DIMM 0 Size: 2048 MB Speed: Unknown ---------- ++ specify 4GB (4096MB) current/max and get: ocean:~# dmidecode -t memory | grep -e 'Maximum Capacity' -e 'Number Of Devices' Maximum Capacity: 4 GB Number Of Devices: 1 ocean:~# dmidecode -t memory | sed -ne '/Memory Device/,/Part Number/ { /Size:/h; /^[[:space:]]*Locator:/ {p;x;p}; /Speed:/p}' | paste - - - | tr -s '\t' | expand -t 1,20,50 Locator: DIMM 0 Size: 4096 MB Speed: Unknown ---------- ++ specify 8GB (8192MB) current/max and get: ocean:~# dmidecode -t memory | grep -e 'Maximum Capacity' -e 'Number Of Devices' Maximum Capacity: 8 GB Number Of Devices: 1 ocean:~# dmidecode -t memory | sed -ne '/Memory Device/,/Part Number/ { /Size:/h; /^[[:space:]]*Locator:/ {p;x;p}; /Speed:/p}' | paste - - - | tr -s '\t' | expand -t 1,20,50 Locator: DIMM 0 Size: 8192 MB Speed: Unknown ---------- ++ specify 16GB (16384) current/max and get: ocean:~# dmidecode -t memory | grep -e 'Maximum Capacity' -e 'Number Of Devices' Maximum Capacity: 16 GB Number Of Devices: 1 ocean:~# dmidecode -t memory | sed -ne '/Memory Device/,/Part Number/ { /Size:/h; /^[[:space:]]*Locator:/ {p;x;p}; /Speed:/p}' | paste - - - | tr -s '\t' | expand -t 1,20,50 Locator: DIMM 0 Size: No Module Installed Speed: Unknown ---------- ++ specify 32GB (32768MB) current/max and get: # dmidecode -t memory | grep -e 'Maximum Capacity' -e 'Number Of Devices' Maximum Capacity: 32 GB Number Of Devices: 2 # dmidecode -t memory | sed -ne '/Memory Device/,/Part Number/ { /Size:/h; /^[[:space:]]*Locator:/ {p;x;p}; /Speed:/p}' | paste - - - | tr -s '\t' | expand -t 1,20,50 Locator: DIMM 0 Size: 16384 MB Speed: Unknown Locator: DIMM 1 Size: No Module Installed Speed: Unknown ---------- ++ specify 64GB (65536MB) current/max and get: # dmidecode -t memory | grep -e 'Maximum Capacity' -e 'Number Of Devices' Maximum Capacity: 64 GB Number Of Devices: 4 # dmidecode -t memory | sed -ne '/Memory Device/,/Part Number/ { /Size:/h; /^[[:space:]]*Locator:/ {p;x;p}; /Speed:/p}' | paste - - - | tr -s '\t' | expand -t 1,20,50 Locator: DIMM 0 Size: 16384 MB Speed: Unknown Locator: DIMM 1 Size: 16384 MB Speed: Unknown Locator: DIMM 2 Size: 16384 MB Speed: Unknown Locator: DIMM 3 Size: No Module Installed Speed: Unknown ---------- ++ specify 128GB (131072MB) current/max and get: # dmidecode -t memory | grep -e 'Maximum Capacity' -e 'Number Of Devices' Maximum Capacity: 128 GB Number Of Devices: 8 # dmidecode -t memory | sed -ne '/Memory Device/,/Part Number/ { /Size:/h; /^[[:space:]]*Locator:/ {p;x;p}; /Speed:/p}' | paste - - - | tr -s '\t' | expand -t 1,20,50 Locator: DIMM 0 Size: 16384 MB Speed: Unknown Locator: DIMM 1 Size: 16384 MB Speed: Unknown Locator: DIMM 2 Size: 16384 MB Speed: Unknown Locator: DIMM 3 Size: 16384 MB Speed: Unknown Locator: DIMM 4 Size: 16384 MB Speed: Unknown Locator: DIMM 5 Size: 16384 MB Speed: Unknown Locator: DIMM 6 Size: 16384 MB Speed: Unknown Locator: DIMM 7 Size: No Module Installed Speed: Unknown ---------- ++ Specify 131074MB (128GB + 2MB) current/max and get: (testing if we add just a "bit" more memory than what we want. # dmidecode -t memory | grep -e 'Maximum Capacity' -e 'Number Of Devices' Maximum Capacity: 131074 MB Number Of Devices: 9 # dmidecode -t memory | sed -ne '/Memory Device/,/Part Number/ { /Size:/h; /^[[:space:]]*Locator:/ {p;x;p}; /Speed:/p}' | paste - - - | tr -s '\t' | expand -t 1,20,50 Locator: DIMM 0 Size: 16384 MB Speed: Unknown Locator: DIMM 1 Size: 16384 MB Speed: Unknown Locator: DIMM 2 Size: 16384 MB Speed: Unknown Locator: DIMM 3 Size: 16384 MB Speed: Unknown Locator: DIMM 4 Size: 16384 MB Speed: Unknown Locator: DIMM 5 Size: 16384 MB Speed: Unknown Locator: DIMM 6 Size: 16384 MB Speed: Unknown Locator: DIMM 7 Size: 16384 MB Speed: Unknown Locator: DIMM 8 Size: 2 MB Speed: Unknown -- System Information: Debian Release: 8.7 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.16.0-4-amd64 (SMP w/56 CPU cores) Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages qemu-system-x86 depends on: ii ipxe-qemu 1.0.0+git-20141004.86285d1-1 ii libaio1 0.3.110-1 ii libasound2 1.0.28-1 ii libbluetooth3 5.23-2+b1 ii libbrlapi0.6 5.2~20141018-5 ii libc6 2.19-18+deb8u7 ii libcurl3-gnutls 7.38.0-4+deb8u5 ii libfdt1 1.4.0+dfsg-1 ii libgcc1 1:4.9.2-10 ii libglib2.0-0 2.42.1-1+b1 ii libgnutls-deb0-28 3.3.8-6+deb8u4 ii libiscsi2 1.12.0-2 ii libjpeg62-turbo 1:1.3.1-12 ii libncurses5 5.9+20140913-1+b1 ii libpixman-1-0 0.32.6-3 ii libpng12-0 1.2.50-2+deb8u3 ii libpulse0 5.0-13 ii librados2 0.80.7-2+deb8u2 ii librbd1 0.80.7-2+deb8u2 ii libsasl2-2 2.1.26.dfsg1-13+deb8u1 ii libsdl1.2debian 1.2.15-10+b1 ii libseccomp2 2.1.1-1 ii libspice-server1 0.12.5-1+deb8u4 ii libssh2-1 1.4.3-4.1+deb8u1 ii libtinfo5 5.9+20140913-1+b1 ii libusb-1.0-0 2:1.0.19-1 ii libusbredirparser1 0.7-1 ii libuuid1 2.25.2-6 ii libvdeplug2 2.3.2+r586-1 ii libx11-6 2:1.6.2-3 ii libxen-4.4 4.4.1-9+deb8u8 ii libxenstore3.0 4.4.1-9+deb8u8 ii qemu-system-common 1:2.1+dfsg-12+deb8u6 ii seabios 1.7.5-1 ii zlib1g 1:1.2.8.dfsg-2+b1 Versions of packages qemu-system-x86 recommends: ii qemu-utils 1:2.1+dfsg-12+deb8u6 Versions of packages qemu-system-x86 suggests: ii kmod 18-3 pn ovmf <none> pn samba <none> pn sgabios <none> pn vde2 <none> -- no debconf information