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

Reply via email to