Bug 1741508
| Summary: | kvm_init_vcpu failed if use EPYC cpu model and specify option dies in QEMU cli | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux Advanced Virtualization | Reporter: | Yumei Huang <yuhuang> |
| Component: | qemu-kvm | Assignee: | Eduardo Habkost <ehabkost> |
| qemu-kvm sub component: | General | QA Contact: | Yumei Huang <yuhuang> |
| Status: | CLOSED ERRATA | Docs Contact: | |
| Severity: | low | ||
| Priority: | low | CC: | ailan, chayang, ddepaula, ehabkost, jen, juzhang, nanliu, virt-maint, xfu |
| Version: | 8.1 | Flags: | knoel:
mirror+
|
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | qemu-kvm-4.2.0-10.module+el8.2.0+5740+c3dff59e | Doc Type: | If docs needed, set a value |
| Doc Text: |
Cause:
The
Consequence:
Workaround (if any):
Result:
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-05-05 09:47:43 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
Yumei Huang
2019-08-15 10:33:33 UTC
libvirt doesn't support the "dies" option yet (see bug 1702444). Lowering severity and priority and moving to 8.2.0. QEMU has been recently split into sub-components and as a one-time operation to avoid breakage of tools, we are setting the QEMU sub-component of this BZ to "General". Please review and change the sub-component if necessary the next time you review this BZ. Thanks Fixed by the 4.2.0 rebase, upstream commit:
commit af95cafb877f563ed39ce8a5b2abe227dd5312fa
Author: Eduardo Habkost <ehabkost>
Date: Thu Aug 22 19:52:10 2019 -0300
i386: Omit all-zeroes entries from KVM CPUID table
KVM has a 80-entry limit at KVM_SET_CPUID2. With the
introduction of CPUID[0x1F], it is now possible to hit this limit
with unusual CPU configurations, e.g.:
$ ./x86_64-softmmu/qemu-system-x86_64 \
-smp 1,dies=2,maxcpus=2 \
-cpu EPYC,check=off,enforce=off \
-machine accel=kvm
qemu-system-x86_64: kvm_init_vcpu failed: Argument list too long
This happens because QEMU adds a lot of all-zeroes CPUID entries
for unused CPUID leaves. In the example above, we end up
creating 48 all-zeroes CPUID entries.
KVM already returns all-zeroes when emulating the CPUID
instruction if an entry is missing, so the all-zeroes entries are
redundant. Skip those entries. This reduces the CPUID table
size by half while keeping CPUID output unchanged.
Reported-by: Yumei Huang <yuhuang>
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1741508
Signed-off-by: Eduardo Habkost <ehabkost>
Message-Id: <20190822225210.32541-1-ehabkost>
Acked-by: Paolo Bonzini <pbonzini>
Signed-off-by: Eduardo Habkost <ehabkost>
Updating Fixed In Version to exact build tag. Danilo, should this be manually added to 8.2 errata? Test with qemu-kvm-4.2.0-13.module+el8.2.0+5898+fb4bceae, the issue is gone. BZ was added to errata, so clearing needinfo request from comment 8. 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://access.redhat.com/errata/RHBA-2020:2017 |