qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Live migration regarding Intel PT


From: Xiaoyao Li
Subject: Re: Live migration regarding Intel PT
Date: Thu, 26 Aug 2021 10:16:26 +0800
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 Thunderbird/78.13.0

On 8/26/2021 4:48 AM, Eduardo Habkost wrote:
On Wed, Aug 25, 2021 at 02:59:37PM +0800, Xiaoyao Li wrote:
Hi Eduardo,

I have some question regrading Intel PT live migration.

Commit "e37a5c7fa459 (i386: Add Intel Processor Trace feature support)"
expose Intel PT with a fixed capabilities of CPUID 0x14 for live migration.
And the fixed capabilities are the value reported on ICX(IceLake). However,
the upcoming SPR(Sapphire Rapids) has less capabilities of
INTEL_PT_CYCLE_BITMAP than ICX. It fails to enable PT in guest on SPR
machine.

If change the check on INTEL_PT_CYCLE_BITMAP to allow different value to
allow it work on SPR. I think it breaks live migration, right?

If I understand your description correctly, I don't think that
would break live migration.

Generating different CPUID data for the same CPU model+flags
would break live migration.

However, merely allowing a wider set of configurations to work
wouldn't break live migration, as long as the same CPU
model+flags generates the same CPUID data on any host.

The easy fix in my brain to make PT work on SPR guest surely will lead to different CPUID data between ICX and SPR. That's why I wrote the email.

Other questions about live migration. I think a named CPU model is the pre-condition for live migration, right?

Then is "same QEMU version/binary" the pre-condition for live migration as well?



For me, not making each sub-function of PT as configurable in QEMU indeed
makes it hard for live migration. [...]

Making all sub-functions of PT configurable would be welcome.
actually.  That would allow us to support a wider range of
configurations and keep live migration working at the same time.

I think it will break old QEMU? Is it OK?


[...] Why not make PT as unmigratable in the
first place when introducing the support in QEMU?

I don't know, this was not my decision.  Now we support live
migration in a few specific cases (ICX hosts), and I assume we
don't want to stop supporting it.

If you just want to support a larger set of hosts when live
migration is not needed, you can add support to that use case
too.  e.g.: "-cpu host,migratable=off" and/or
"-cpu ...,intel-pt-passthrough=on" could do host passthrough of
intel-pt sub-leaves (and block live migration).


That will make things complicated that old use case "-cpu ...,+intel-pt" still means supporting live migration. And when use "-cpu ...,+intel-pt", QEMU needs to generate fixed PT capability as previous?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]