[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [BUG] Migrate failes between boards with different PMC coun
From: |
Zhuangyanying |
Subject: |
[Qemu-devel] [BUG] Migrate failes between boards with different PMC counts |
Date: |
Mon, 24 Apr 2017 06:26:27 +0000 |
Hi all,
Recently, I found migration failed when enable vPMU.
migrate vPMU state was introduced in linux-3.10 + qemu-1.7.
As long as enable vPMU, qemu will save / load the
vmstate_msr_architectural_pmu(msr_global_ctrl) register during the migration.
But global_ctrl generated based on cpuid(0xA), the number of general-purpose
performance
monitoring counters(PMC) can vary according to Intel SDN. The number of PMC
presented
to vm, does not support configuration currently, it depend on host cpuid, and
enable all pmc
defaultly at KVM. It cause migration to fail between boards with different PMC
counts.
The return value of cpuid (0xA) is different dur to cpu, according to Intel
SDN,18-10 Vol. 3B:
Note: The number of general-purpose performance monitoring counters (i.e. N in
Figure 18-9)
can vary across processor generations within a processor family, across
processor families, or
could be different depending on the configuration chosen at boot time in the
BIOS regarding
Intel Hyper Threading Technology, (e.g. N=2 for 45 nm Intel Atom processors; N
=4 for processors
based on the Nehalem microarchitecture; for processors based on the Sandy Bridge
microarchitecture, N = 4 if Intel Hyper Threading Technology is active and N=8
if not active).
Also I found, N=8 if HT is not active based on the broadwell,,
such as CPU E7-8890 v4 @ 2.20GHz
# ./x86_64-softmmu/qemu-system-x86_64 --enable-kvm -smp 4 -m 4096 -hda
/data/zyy/test_qemu.img.sles12sp1 -vnc :99 -cpu kvm64,pmu=true -incoming
tcp::8888
Completed 100 %
qemu-system-x86_64: error: failed to set MSR 0x38f to 0x7000000ff
qemu-system-x86_64: /data/zyy/git/test/qemu/target/i386/kvm.c:1833:
kvm_put_msrs:
Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed.
Aborted
So make number of pmc configurable to vm ? Any better idea ?
Regards,
-Zhuang Yanying
- [Qemu-devel] [BUG] Migrate failes between boards with different PMC counts,
Zhuangyanying <=