From: Paolo Bonzini <pbonzini@redhat.com>
To: lantianyu1986@gmail.com
Cc: linux-mips@linux-mips.org, linux@armlinux.org,
kvm@vger.kernel.org, rkrcmar@redhat.com, will.deacon@arm.com,
linux-kernel@vger.kernel.org, hpa@zytor.com, kys@microsoft.com,
kvmarm@lists.cs.columbia.edu, sthemmin@microsoft.com,
x86@kernel.org, michael.h.kelley@microsoft.com, mingo@redhat.com,
catalin.marinas@arm.com, jhogan@kernel.org,
Lan Tianyu <Tianyu.Lan@microsoft.com>,
marc.zyngier@arm.com, haiyangz@microsoft.com,
kvm-ppc@vger.kernel.org, tglx@linutronix.de,
linux-arm-kernel@lists.infradead.org, christoffer.dall@arm.com,
ralf@linux-mips.org, paul.burton@mips.com,
devel@linuxdriverproject.org, vkuznets@redhat.com,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH V4 00/15] x86/KVM/Hyper-v: Add HV ept tlb range flush hypercall support in KVM
Date: Mon, 15 Oct 2018 14:04:43 +0200 [thread overview]
Message-ID: <d9414a38-ca5c-4273-30dc-1fecd0f9268e@redhat.com> (raw)
In-Reply-To: <20181013145406.4911-1-Tianyu.Lan@microsoft.com>
On 13/10/2018 16:53, lantianyu1986@gmail.com wrote:
> From: Lan Tianyu <Tianyu.Lan@microsoft.com>
>
> For nested memory virtualization, Hyper-v doesn't set write-protect
> L1 hypervisor EPT page directory and page table node to track changes
> while it relies on guest to tell it changes via HvFlushGuestAddressLlist
> hypercall. HvFlushGuestAddressLlist hypercall provides a way to flush
> EPT page table with ranges which are specified by L1 hypervisor.
>
> If L1 hypervisor uses INVEPT or HvFlushGuestAddressSpace hypercall to
> flush EPT tlb, Hyper-V will invalidate associated EPT shadow page table
> and sync L1's EPT table when next EPT page fault is triggered.
> HvFlushGuestAddressLlist hypercall helps to avoid such redundant EPT
> page fault and synchronization of shadow page table.
So I just told you that the first part is well understood but I must
retract that; after carefully reviewing the whole series, I think one of
us is actually very confused.
I am not afraid to say it can be me, but my understanding is that you're
passing L1 GPAs to the hypercall and instead the spec says it expects L2
GPAs. (Consider that, because KVM's shadow paging code is shared
between nested EPT and !EPT cases, every time you see gpa/gfn in the
code it is for L1, while nested EPT GPAs are really what the code calls
gva.)
What's going on?
Paolo
prev parent reply other threads:[~2018-10-15 12:18 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-13 14:53 [PATCH V4 00/15] x86/KVM/Hyper-v: Add HV ept tlb range flush hypercall support in KVM lantianyu1986
2018-10-13 14:53 ` [PATCH V4 1/15] KVM: Add tlb_remote_flush_with_range callback in kvm_x86_ops lantianyu1986
2018-10-13 14:53 ` [PATCH V4 2/15] KVM/MMU: Add tlb flush with range helper function lantianyu1986
2018-10-14 7:26 ` Liran Alon
2018-10-14 8:16 ` Thomas Gleixner
2018-10-14 9:20 ` Liran Alon
2018-10-14 12:57 ` Tianyu Lan
2018-10-14 9:27 ` Russell King - ARM Linux
2018-10-14 9:35 ` Russell King - ARM Linux
2018-10-14 13:21 ` Tianyu Lan
2018-10-14 13:33 ` Russell King - ARM Linux
2018-10-15 12:02 ` Paolo Bonzini
2018-10-13 14:53 ` [PATCH V4 3/15] KVM: Replace old tlb flush function with new one to flush a specified range lantianyu1986
2018-10-13 14:53 ` [PATCH V4 4/15] KVM: Make kvm_set_spte_hva() return int lantianyu1986
2018-10-15 12:04 ` Paolo Bonzini [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=d9414a38-ca5c-4273-30dc-1fecd0f9268e@redhat.com \
--to=pbonzini@redhat.com \
--cc=Tianyu.Lan@microsoft.com \
--cc=catalin.marinas@arm.com \
--cc=christoffer.dall@arm.com \
--cc=devel@linuxdriverproject.org \
--cc=haiyangz@microsoft.com \
--cc=hpa@zytor.com \
--cc=jhogan@kernel.org \
--cc=kvm-ppc@vger.kernel.org \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=kys@microsoft.com \
--cc=lantianyu1986@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=linux@armlinux.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=marc.zyngier@arm.com \
--cc=michael.h.kelley@microsoft.com \
--cc=mingo@redhat.com \
--cc=paul.burton@mips.com \
--cc=ralf@linux-mips.org \
--cc=rkrcmar@redhat.com \
--cc=sthemmin@microsoft.com \
--cc=tglx@linutronix.de \
--cc=vkuznets@redhat.com \
--cc=will.deacon@arm.com \
--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;
as well as URLs for NNTP newsgroup(s).