mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: "Kang, Luwei" <luwei.kang@intel.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>
Cc: "rkrcmar@redhat.com" <rkrcmar@redhat.com>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"hpa@zytor.com" <hpa@zytor.com>,
	"x86@kernel.org" <x86@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Chao Peng <chao.p.peng@linux.intel.com>
Subject: Re: [PATCH 0/9] Intel Processor Trace virtulization enabling
Date: Thu, 19 Oct 2017 09:14:30 +0200	[thread overview]
Message-ID: <d2832641-dd36-e0d2-25ed-3e60d54ac410@redhat.com> (raw)
In-Reply-To: <82D7661F83C1A047AF7DC287873BF1E167E1C475@SHSMSX101.ccr.corp.intel.com>

On 19/10/2017 07:54, Kang, Luwei wrote:
>>> Get it. I have feedback to hardware architect. I hope it can be applied but it may need wait a long time.
>> Note that the hardware need not do anything.  However it would be nice if the SDM can define a bit _for the hypervisors_ to
>> enforce the above constraint and fail vmentry if they are not respected.
>
> Hi Paolo,
> Thanks for your response. I have a question want to ask for you. As
> you mentioned in previous mail " We would like the nested hypervisor
> to be forced to set the "use GPA for processor tracing"". Is there
> have any problem if we don't set "use GPA for processor tracing" in
> nested hypervisor?

If the nested hypervisor doesn't set "use GPA for processor tracing",
the processor should use L1 addresses for processor tracing.  This
however is not possible without shadowing the ToPA, same as in
non-nested virtualization for <=Skylake processors.

So we have

            |          mode
            |-----------------------------------------------------------
nested?     |          system-wide          |  host-guest
------------+-------------------------------+---------------------------
no          |          use HPA for tracing  |  use GPA for tracing
            |          (no EPT)             |  (EPT is GPA->HPA)
------------+-------------------------------+---------------------------
yes         |          use GPA for tracing  |  use nGPA for tracing
            |          (EPT is nGPA->HPA!!) |  (EPT is nGPA->HPA, so ok)

(for nested, L0 mode of course must be host-guest).  If the nested
hypervisor wants to use system-wide tracing, it cannot use "use GPA for
tracing" because the EPT table doesn't have the right mapping of L1->L0
physical address.

So if you want to do system-wide L1 tracing you have to disable EPT for
L1, and if you want to do host-guest L1 tracing you have to enable it.

Paolo

> If yes, what should we do? In patch 9, I pass
> though PT MSRs ( IA32_RTIT_* ) to guest.

  reply	other threads:[~2017-10-19  7:14 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-16 12:09 Luwei Kang
2017-10-17 12:13 ` Paolo Bonzini
2017-10-18 10:18   ` Kang, Luwei
2017-10-18 10:30     ` Paolo Bonzini
2017-10-18 11:06       ` Kang, Luwei
2017-10-18 11:22         ` Paolo Bonzini
2017-10-19  5:54           ` Kang, Luwei
2017-10-19  7:14             ` Paolo Bonzini [this message]
2017-10-20  0:22               ` Kang, Luwei
2017-10-20  8:58                 ` Paolo Bonzini
2017-10-23  8:01                   ` Kang, Luwei
2017-10-23 14:40                     ` Paolo Bonzini
2017-10-18 12:53 ` Stefan Hajnoczi

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=d2832641-dd36-e0d2-25ed-3e60d54ac410@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=chao.p.peng@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luwei.kang@intel.com \
    --cc=mingo@redhat.com \
    --cc=rkrcmar@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /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

Powered by JetHome