While query-cpu-model-expansion returns only boolean features on s390,
but x86_64 reports some integer and string properties which we are
interested in.
Querying "host" CPU model expansion only makes sense for KVM. QEMU 2.9.0
introduces a new "max" CPU model which can be used to ask QEMU what the
best CPU it can provide to a TCG domain is.
Until now host-model CPU mode tried to enable all CPU features supported
by the host CPU even if QEMU/KVM did not support them. This caused a
number of issues and made host-model quite unreliable. Asking QEMU for
the CPU it can provide and the current host makes host-model much more
robust.
The static CPU model expansion is designed to return only canonical
names of all CPU properties. To maintain backwards compatibility libvirt
is stuck with different spelling of some of the features, but we need to
use the full expansion to get the additional spellings. In addition to
returning all spelling variants for all properties the full expansion
will contain properties which are not guaranteed to be migration
compatible. Thus, we need to combine both expansions. First we need to
call the static expansion to limit the result to migratable properties.
Then we can use the result of the static expansion as an input to the
full expansion to get both canonical names and their aliases.
cputest: Switch host CPU data scripts to model expansion
Instantiating "host" CPU and querying it using qom-get has been the only
way of probing host CPU via QEMU until 2.9.0 implemented
query-cpu-model-expansion for x86_64. Even though libvirt never really
used the old way its result can be easily converted into the one
produced by query-cpu-model-expansion. Thus we can reuse the original
test data and possible get new data from hosts where QEMU does not
support the new QMP command.
The original test didn't use family/model numbers to make better
decisions about the CPU model and thus mis-detected the model in the two
cases which are modified in this commit. The detected CPU models now
match those obtained from raw CPUID data.
This should be finally fixed by (in combination with QEMU 2.9.0):
commit 2a586b4402a7637 e0bef9a2876d065 c0ce6bfef1
Refs: v3.1.0-9-g2a586b440
Author: Jiri Denemark <email address hidden>
AuthorDate: Mon Jan 30 16:10:22 2017 +0100
Commit: Jiri Denemark <email address hidden>
CommitDate: Fri Mar 3 19:57:56 2017 +0100
qemucapstest: Update test data for QEMU 2.9.0
Signed-off-by: Jiri Denemark <email address hidden>
commit 0bde051f3de02b1 be25ea4a4d9f062 abfa3d1397 10-g0bde051f3
Refs: v3.1.0-
Author: Jiri Denemark <email address hidden>
AuthorDate: Mon Jan 30 16:10:49 2017 +0100
Commit: Jiri Denemark <email address hidden>
CommitDate: Fri Mar 3 19:57:56 2017 +0100
domaincapstest: Add test data for QEMU 2.9.0
Signed-off-by: Jiri Denemark <email address hidden>
commit d2f8f3052d48f28 4d56e27c98ce7a2 ce6c656e59 11-gd2f8f3052
Refs: v3.1.0-
Author: Jiri Denemark <email address hidden>
AuthorDate: Wed Feb 15 10:18:53 2017 +0100
Commit: Jiri Denemark <email address hidden>
CommitDate: Fri Mar 3 19:57:56 2017 +0100
docs: Update description of the host-model CPU mode
Signed-off-by: Jiri Denemark <email address hidden>
commit 4c0723a1d75b981 e8939c4c5b6bde7 607fc7301e 12-g4c0723a1d
Refs: v3.1.0-
Author: Jiri Denemark <email address hidden>
AuthorDate: Mon Jan 30 16:30:13 2017 +0100
Commit: Jiri Denemark <email address hidden>
CommitDate: Fri Mar 3 19:57:56 2017 +0100
qemu: Rename hostCPU/feature element in capabilities cache
The element will be generalized in the following commits.
Signed-off-by: Jiri Denemark <email address hidden>
commit 03a34f6b84da009 291e8651aba71df 8a6761d081 13-g03a34f6b8
Refs: v3.1.0-
Author: Jiri Denemark <email address hidden>
AuthorDate: Wed Feb 22 15:46:47 2017 +0100
Commit: Jiri Denemark <email address hidden>
CommitDate: Fri Mar 3 19:57:56 2017 +0100
qemu: Prepare for more types in qemuMonitorCPUM odelInfo
Signed-off-by: Jiri Denemark <email address hidden>
commit 2fc215dd2ad4b88 c1054da804c4c45 b3d4e5c2fa 14-g2fc215dd2
Refs: v3.1.0-
Author: Jiri Denemark <email address hidden>
AuthorDate: Wed Feb 22 16:01:30 2017 +0100
Commit: Jiri Denemark <email address hidden>
CommitDate: Fri Mar 3 19:57:56 2017 +0100
qemu: Store more types in qemuMonitorCPUM odelInfo
While query-cpu- model-expansion returns only boolean features on s390,
but x86_64 reports some integer and string properties which we are
interested in.
Signed-off-by: Jiri Denemark <email address hidden>
commit d7f054a512a911a 386d9bbeec51379 e4bb843ca5 15-gd7f054a51
Refs: v3.1.0-
Author: Jiri Denemark <email address hidden>
AuthorDate: Wed Feb 22 16:51:50 2017 +0100
Commit: Jiri Denemark <email address hidden>
CommitDate: Fri Mar 3 19:57:57 2017 +0100
qemu: Probe "max" CPU model in TCG
Querying "host" CPU model expansion only makes sense for KVM. QEMU 2.9.0
introduces a new "max" CPU model which can be used to ask QEMU what the
best CPU it can provide to a TCG domain is.
Signed-off-by: Jiri Denemark <email address hidden>
commit f0138289920d520 4c1654bc9b17115 d1a315d62e 16-gf01382899
Refs: v3.1.0-
Author: Jiri Denemark <email address hidden>
AuthorDate: Wed Jan 11 14:36:34 2017 +0100
Commit: Jiri Denemark <email address hidden>
CommitDate: Fri Mar 3 19:57:57 2017 +0100
qemu: Get host CPU model from QEMU on x86_64
Until now host-model CPU mode tried to enable all CPU features supported
by the host CPU even if QEMU/KVM did not support them. This caused a
number of issues and made host-model quite unreliable. Asking QEMU for
the CPU it can provide and the current host makes host-model much more
robust.
This commit fixes the following bugs:
https:/ /bugzilla. redhat. com/show_ bug.cgi? id=1018251 /bugzilla. redhat. com/show_ bug.cgi? id=1371617 /bugzilla. redhat. com/show_ bug.cgi? id=1372581 /bugzilla. redhat. com/show_ bug.cgi? id=1404627 /bugzilla. redhat. com/show_ bug.cgi? id=870071
https:/
https:/
https:/
https:/
In addition to that, the following bug should be mostly limited to cases
when an unsupported feature is explicitly requested:
https:/ /bugzilla. redhat. com/show_ bug.cgi? id=1335534
Signed-off-by: Jiri Denemark <email address hidden>
commit be3d59754b1a1da 174ff1796882a0c eb35e198e8 17-gbe3d59754
Refs: v3.1.0-
Author: Jiri Denemark <email address hidden>
AuthorDate: Tue Jan 31 13:44:00 2017 +0100
Commit: Jiri Denemark <email address hidden>
CommitDate: Fri Mar 3 19:57:57 2017 +0100
qemu: Use enum for CPU model expansion type
Signed-off-by: Jiri Denemark <email address hidden>
commit bb3363c90b5b19c 37f8e5b8f512eb0 0014d2dae4 18-gbb3363c90
Refs: v3.1.0-
Author: Jiri Denemark <email address hidden>
AuthorDate: Thu Feb 23 13:53:51 2017 +0100
Commit: Jiri Denemark <email address hidden>
CommitDate: Fri Mar 3 19:57:57 2017 +0100
qemu: Use full CPU model expansion on x86
The static CPU model expansion is designed to return only canonical
names of all CPU properties. To maintain backwards compatibility libvirt
is stuck with different spelling of some of the features, but we need to
use the full expansion to get the additional spellings. In addition to
returning all spelling variants for all properties the full expansion
will contain properties which are not guaranteed to be migration
compatible. Thus, we need to combine both expansions. First we need to
call the static expansion to limit the result to migratable properties.
Then we can use the result of the static expansion as an input to the
full expansion to get both canonical names and their aliases.
Signed-off-by: Jiri Denemark <email address hidden>
commit 2f882dbfa92c14d 585a786a42d284b 63ffdca4e3 19-g2f882dbfa
Refs: v3.1.0-
Author: Jiri Denemark <email address hidden>
AuthorDate: Thu Feb 23 14:31:23 2017 +0100
Commit: Jiri Denemark <email address hidden>
CommitDate: Fri Mar 3 19:57:57 2017 +0100
qemu: Make virQEMUCapsInit CPUModel testable
Signed-off-by: Jiri Denemark <email address hidden>
commit d065934cd07c01f bb29f25bbb223eb 4ce126a90e 20-gd065934cd
Refs: v3.1.0-
Author: Jiri Denemark <email address hidden>
AuthorDate: Wed Feb 1 17:48:41 2017 +0100
Commit: Jiri Denemark <email address hidden>
CommitDate: Fri Mar 3 19:57:57 2017 +0100
cputest: Switch host CPU data scripts to model expansion
Instantiating "host" CPU and querying it using qom-get has been the only cpu-model- expansion for x86_64. Even though libvirt never really model-expansion . Thus we can reuse the original
way of probing host CPU via QEMU until 2.9.0 implemented
query-
used the old way its result can be easily converted into the one
produced by query-cpu-
test data and possible get new data from hosts where QEMU does not
support the new QMP command.
Signed-off-by: Jiri Denemark <email address hidden>
commit d46a1aa4d8caafe 977cc41a80ef86a f1d10e60b7 21-gd46a1aa4d
Refs: v3.1.0-
Author: Jiri Denemark <email address hidden>
AuthorDate: Mon Feb 13 14:59:42 2017 +0100
Commit: Jiri Denemark <email address hidden>
CommitDate: Fri Mar 3 19:57:57 2017 +0100
cputest: Convert all json data files to query-cpu- model-expansion
Converted by running the following command, renaming the files as
*.new, and committing only the *.new files.
(cd tests/cputestdata; ./cpu-convert.py *.json)
Signed-off-by: Jiri Denemark <email address hidden>
commit a19696b5924e751 2dcca4f30d15147 036708389e 22-ga19696b59
Refs: v3.1.0-
Author: Jiri Denemark <email address hidden>
AuthorDate: Mon Feb 13 10:33:52 2017 +0100
Commit: Jiri Denemark <email address hidden>
CommitDate: Fri Mar 3 19:57:57 2017 +0100
cputest: Test virQEMUCapsInit CPUModel
The original test didn't use family/model numbers to make better
decisions about the CPU model and thus mis-detected the model in the two
cases which are modified in this commit. The detected CPU models now
match those obtained from raw CPUID data.
Signed-off-by: Jiri Denemark <email address hidden>
commit 5e4fc2ef9933436 43587f2b079b63f 2c9f038e6f 23-g5e4fc2ef9
Refs: v3.1.0-
Author: Jiri Denemark <email address hidden>
AuthorDate: Mon Feb 13 15:04:38 2017 +0100
Commit: Jiri Denemark <email address hidden>
CommitDate: Fri Mar 3 19:57:57 2017 +0100
cputest: Drop obsolete CPU test data files
Signed-off-by: Jiri Denemark <email address hidden>
commit 8907204cd83f0ca 29c48d19bbf2778 132d8578a2 24-g8907204cd
Refs: v3.1.0-
Author: Jiri Denemark <email address hidden>
AuthorDate: Mon Feb 13 15:06:35 2017 +0100
Commit: Jiri Denemark <email address hidden>
CommitDate: Fri Mar 3 19:57:57 2017 +0100
cputest: Drop .new suffix from CPU test data files
Signed-off-by: Jiri Denemark <email address hidden>