Bug 1184125
Summary: | -cpu host: cache CPUID passthrough may not make sense depending on VM CPU topology | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Eduardo Habkost <ehabkost> |
Component: | qemu-kvm-rhev | Assignee: | Eduardo Habkost <ehabkost> |
Status: | CLOSED ERRATA | QA Contact: | Guo, Zhiyi <zhguo> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | 7.2 | CC: | ailan, benoit.canet, chayang, drjones, ehabkost, hhuang, hrgstephen, huding, juzhang, knoel, lmiksik, lwoodman, mkenneth, mrezanin, pbonzini, rbalakri, rpacheco, virt-bugs, virt-maint |
Target Milestone: | rc | Keywords: | Regression, Reopened |
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | qemu-kvm-rhev-2.6.0-1.el7 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | 1169577 | Environment: | |
Last Closed: | 2016-11-07 20:19:31 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: | |||
Bug Depends On: | 1169577 | ||
Bug Blocks: |
Description
Eduardo Habkost
2015-01-20 15:38:49 UTC
It is a regression from qemu-kvm-rhev-1.5.3, proposing exception+ flag. Upstream patch submitted: From: Eduardo Habkost <ehabkost> To: qemu-devel Subject: [PATCH] target-i386: Disable cache info passthrough by default Date: Wed, 19 Aug 2015 10:08:22 -0700 Message-Id: <1440004102-4822-1-git-send-email-ehabkost> http://article.gmane.org/gmane.comp.emulators.qemu/356417 (In reply to Eduardo Habkost from comment #4) > Upstream patch submitted: > > From: Eduardo Habkost <ehabkost> > To: qemu-devel > Subject: [PATCH] target-i386: Disable cache info passthrough by default > Date: Wed, 19 Aug 2015 10:08:22 -0700 > Message-Id: <1440004102-4822-1-git-send-email-ehabkost> > > http://article.gmane.org/gmane.comp.emulators.qemu/356417 No upstream reviews yet. Many people are on vacation. Maybe worth a ping? Or, choose others to review? New upstream patch posted to qemu-devel: Subject: [PATCH v2] target-i386: Disable cache info passthrough by default Date: Wed, 2 Sep 2015 11:19:11 -0300 Message-Id: <1441203551-15403-1-git-send-email-ehabkost> Fixed on v2.6.0 rebase. Hi Eduardo, Could you tell QE how to verify this bug? Thanks! BR/ Guo,Zhiyi (In reply to Guo, Zhiyi from comment #12) > Hi Eduardo, > > Could you tell QE how to verify this bug? Thanks! > In case it is not possible to reproduce the crash from the original bug report, you can do this: 1) Start a guest with -cpu host with a CPU topology different from the host (preferably make it very different: use a host with a large number of threads/cores per socket, and start a VM with a smaller number of threads/cores per socket, or vice-versa). 2) Check "lscpu -e" output on the guest. 2.1) On old qemu-kvm-rhev (or latest qemu-kvm-rhev using rhel7.2.0 machine-type), cache topology information will be arbitrary and may not make sense, because it is copied from host CPUID (e.g. CPUs in different sockets may appear sharing the same L1 cache ID, or CPU threads inside the same core may appear _not_ sharing the same L3 cache ID). 2.2) Using newer QEMU with rhel7.3.0 machine-type, cache information should be reasonable and match the CPU topology specified in the command-line (more exactly: different ID for L1i and L1d for each thread, same L2 ID for threads inside the same core, and no L3 cache) Reproduce the issue wiht qemu-kvm-rhev-2.3.0-31.el7_2.21.x86_64 and rhel7.3 guest. qemu cli used: /usr/libexec/qemu-kvm -name rhel7.3 -m 2048 \ -cpu host \ -smp 24,threads=4,cores=6,sockets=1 \ -device virtio-serial -chardev spicevmc,id=vdagent,debug=0,name=vdagent \ -spice port=3003,disable-ticketing \ -device qxl \ -serial unix:/tmp/m,server,nowait \ -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 \ -drive file=/home/ss1rhel73.qcow2,if=none,id=drive-scsi-disk0,format=qcow2,cache=none,werror=stop,rerror=stop -device virtio-scsi-pci,id=scsi0 -device scsi-hd,drive=drive-scsi-disk0,bus=scsi0.0,scsi-id=0,lun=0,id=scsi-disk0,bootindex=1 \ -monitor stdio \ -netdev tap,id=idinWyYp,vhost=on -device virtio-net-pci,mac=42:ce:a9:d2:4d:d7,id=idlbq7eA,netdev=idinWyYp \ steps: 1.boot guest with qemu cli 2.inside guest, lscpu -e: CPU NODE SOCKET CORE L1d:L1i:L2 ONLINE 0 0 0 0 0:0:0 yes 1 0 0 0 0:0:0 yes 2 0 0 0 0:0:0 yes 3 0 0 0 0:0:0 yes 4 0 0 1 1:1:0 yes 5 0 0 1 1:1:0 yes 6 0 0 1 1:1:0 yes 7 0 0 1 1:1:0 yes 8 0 0 2 2:2:1 yes 9 0 0 2 2:2:1 yes 10 0 0 2 2:2:1 yes 11 0 0 2 2:2:1 yes 12 0 0 3 3:3:1 yes 13 0 0 3 3:3:1 yes 14 0 0 3 3:3:1 yes 15 0 0 3 3:3:1 yes 16 0 0 4 4:4:2 yes 17 0 0 4 4:4:2 yes 18 0 0 4 4:4:2 yes 19 0 0 4 4:4:2 yes 20 0 0 5 5:5:2 yes 21 0 0 5 5:5:2 yes 22 0 0 5 5:5:2 yes 23 0 0 5 5:5:2 yes Many threads have same L1i and L1d and threads inside another core have same L2 ID Verify against qemu-kvm-rhev-2.6.0-24.el7.x86_64: # lscpu -e CPU NODE SOCKET CORE L1d:L1i:L2 ONLINE 0 0 0 0 0:0:0 yes 1 0 0 0 1:1:0 yes 2 0 0 0 2:2:0 yes 3 0 0 0 3:3:0 yes 4 0 0 1 4:4:1 yes 5 0 0 1 5:5:1 yes 6 0 0 1 6:6:1 yes 7 0 0 1 7:7:1 yes 8 0 0 2 8:8:2 yes 9 0 0 2 9:9:2 yes 10 0 0 2 10:10:2 yes 11 0 0 2 11:11:2 yes 12 0 0 3 12:12:3 yes 13 0 0 3 13:13:3 yes 14 0 0 3 14:14:3 yes 15 0 0 3 15:15:3 yes 16 0 0 4 16:16:4 yes 17 0 0 4 17:17:4 yes 18 0 0 4 18:18:4 yes 19 0 0 4 19:19:4 yes 20 0 0 5 20:20:5 yes 21 0 0 5 21:21:5 yes 22 0 0 5 22:22:5 yes 23 0 0 5 23:23:5 yes different ID for L1i and L1d for each thread, same L2 ID for threads inside the same core, and no L3 cache Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2016-2673.html |