qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Kang, Luwei" <luwei.kang@intel.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: "Strong, Beeman" <beeman.strong@intel.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Robert Hoo <robert.hu@linux.intel.com>,
	"pbonzini@redhat.com" <pbonzini@redhat.com>,
	Jiri Denemark <jdenemar@redhat.com>,
	"rth@twiddle.net" <rth@twiddle.net>
Subject: RE: [PATCH v1 0/3] Remove the limitation of Intel PT CPUID info
Date: Fri, 25 Sep 2020 08:20:42 +0000	[thread overview]
Message-ID: <CY4PR11MB1447241E17FD9C6E8E90179480360@CY4PR11MB1447.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20200924133430.GB3717385@habkost.net>

> > > > > > Hi Eduardo,
> > > > > >     This patch set will remove some limitations of Intel PT
> > > > > > CPUID
> > > information.
> > > > > >     1. The "IP payloads" feature will disable the Intel PT in
> > > > > > guests and it will be
> > > > > coming soon.
> > > > > >     2. To make the live migration safe, we set the Intel PT
> > > > > > CPUID as a constant
> > > > > value(Icelake server CPUID). It will mask off the new feature of Intel PT.
> > > > >
> > > > > Isn't this series doing the opposite of 2?  It replaces all
> > > > > constant CPUID values with kvm_arch_get_supported_cpuid(),
> > > > > making the feature unavailable in migration-safe mode.
> > > >
> > > > Yes, This series will expose all the HW capabilities to KVM guest
> > > > if the Intel PT is supported in the guest.
> > > >
> > > > >
> > > > > Does it mean the plan is to drop intel-pt migration support entirely?
> > > >
> > > > I don't want to drop intel-pt live migration feature. As discussed
> > > > with you before, the Intel PT feature includes some sub-features
> > > > and may be different on each HW platform. Expose all the
> > > > capabilities to the guest can't make live migration safe. Do you
> > > > have any new proposals?
> > >
> > > To support live migration, we need the set of features seen by the
> > > guest be determined only by the input given to QEMU, not host
> > > capabilities.  It can be
> > > via:
> > > (1) explicit "-cpu ...,+feat,feat=..." flags;
> > > (2) through data in the CPU model table; or
> > > (3) by hardcoding the same value for all configurations.
> > >
> > > The current solution is (3).  (2) is probably the best solution,
> > > with the assumption that the host can always emulate features from
> > > an older CPU in a newer CPU.  If there are features that can't be
> > > emulated if migrating to a newer CPU, a more explicit configuration
> > > mechanism (1) might be better, because not being able to migrate a VM to
> newer hardware is inconvenient.
> > >
> > > None of those approaches prevent us from implementing passthrough
> > > mode for "-cpu host".  Wouldn't that be preferred instead of
> > > removing support for live migration?
> >
> > Thanks for the comments and suggestions. I think the newer CPU
> > includes all the features of the older CPU, but no document have such
> > statement. To make sure it can work in all the cases, the solution (1)
> > might be better.
> 
> Maybe (2) is still viable, as long as there are no expectations that features will
> be removed in future hardware.  Compatibility with future hardware in (2) is
> more about convenience, not a hard a requirement.
> 
> In either case, (1) is the building block for making (2) work.
> This means we can start by implementing (1), and see if we can include
> features in new CPU models later.

OK, I will add the new sub-feature of Intel PT base on the solution (1).

Regarding the limitation of IP payload, may I remove this limitation directly because LIP == RIP for most/all real code, and it will be set after ICX CPUs.
[PATCH v1 1/3] i386: Remove the limitation of IP payloads for Intel PT

Thanks,
Luwei Kang

> 
> > The Intel PT virtualization first supported on Icelake and we can use
> > this CPUID as basic CPUID information. Any new feature which supports
> > on the newer CPUs can be added by "-cpu ...,+feat,feat=...". What is
> > your opinion?
> 
> Sounds good to me.  I would also make intel-pt passthrough work if using "-cpu
> host" and/or an explicit "intel-pt-passthrough=on"
> option.
> 
> --
> Eduardo


      reply	other threads:[~2020-09-25  8:22 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-24 21:38 [PATCH v1 0/3] Remove the limitation of Intel PT CPUID info Luwei Kang
2020-02-24 21:38 ` [PATCH v1 1/3] i386: Remove the limitation of IP payloads for Intel PT Luwei Kang
2020-09-25 16:15   ` Eduardo Habkost
2020-09-25 16:42     ` Strong, Beeman
2020-09-25 16:54       ` Eduardo Habkost
2020-09-25 20:23         ` Paolo Bonzini
2020-09-25 20:29           ` Eduardo Habkost
2020-09-25 20:40             ` Paolo Bonzini
2020-09-28  5:19               ` Kang, Luwei
2020-09-28  7:35                 ` Paolo Bonzini
2020-09-28 12:42                   ` Kang, Luwei
2020-09-28 14:12                     ` Eduardo Habkost
2020-09-29  2:28                       ` Kang, Luwei
2020-09-29  3:44                         ` Eduardo Habkost
2020-09-28 16:46                     ` Paolo Bonzini
2020-09-29  2:28                       ` Kang, Luwei
2020-02-24 21:38 ` [PATCH v1 2/3] i386: Remove the CPUID limitation of " Luwei Kang
2020-02-24 21:38 ` [PATCH v1 3/3] i386: Mark the 'INTEL_PT' CPUID bit as unmigratable Luwei Kang
2020-03-30  9:56 ` [PATCH v1 0/3] Remove the limitation of Intel PT CPUID info Kang, Luwei
2020-09-18 22:02   ` Eduardo Habkost
2020-09-21  7:49     ` Kang, Luwei
2020-09-21 16:50       ` Eduardo Habkost
2020-09-23  2:52         ` Kang, Luwei
2020-09-23 14:15           ` Eduardo Habkost
2020-09-24 12:47             ` Kang, Luwei
2020-09-24 13:34               ` Eduardo Habkost
2020-09-25  8:20                 ` Kang, Luwei [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CY4PR11MB1447241E17FD9C6E8E90179480360@CY4PR11MB1447.namprd11.prod.outlook.com \
    --to=luwei.kang@intel.com \
    --cc=beeman.strong@intel.com \
    --cc=ehabkost@redhat.com \
    --cc=jdenemar@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=robert.hu@linux.intel.com \
    --cc=rth@twiddle.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).