qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [BUG] Migrate failes between boards with different PMC counts
@ 2017-04-24  6:26 Zhuangyanying
  2017-04-24  9:23 ` Dr. David Alan Gilbert
  0 siblings, 1 reply; 7+ messages in thread
From: Zhuangyanying @ 2017-04-24  6:26 UTC (permalink / raw)
  To: pbonzini@redhat.com
  Cc: Gonglei (Arei), Huangzhichao, wangxin (U), Zhanghailiang,
	qemu-devel@nongnu.org

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-04-25 17:20 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-24  6:26 [Qemu-devel] [BUG] Migrate failes between boards with different PMC counts Zhuangyanying
2017-04-24  9:23 ` Dr. David Alan Gilbert
2017-04-24  9:52   ` Daniel P. Berrange
2017-04-24 10:27     ` Dr. David Alan Gilbert
2017-04-24 10:34       ` Daniel P. Berrange
2017-04-24 12:57         ` Zhuangyanying
2017-04-25 17:20           ` Dr. David Alan Gilbert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).