Hi Gleb,
On 07/03/2014 12:34 AM, Gleb Natapov wrote:
On Wed, Jul 02, 2014 at 05:00:36PM +0800, Tang Chen wrote:
ept identity pagetable is pinned in memory, and as a result it cannot be
migrated/hot-removed.
But actually it doesn't need to be pinned in memory.
This patch introduces a new vcpu request: KVM_REQ_MIGRATE_EPT to reset ept
indetity pagetable related variable. This request will be made when
kvm_mmu_notifier_invalidate_page() is called when the page is unmapped
from the qemu user space to reset kvm->arch.ept_identity_pagetable to NULL.
And will also be made when ept violation happens to reset
kvm->arch.ept_identity_pagetable to the new page.
kvm->arch.ept_identity_pagetable is never used as a page address, just
boolean null/!null to see if identity pagetable is initialized. I do
not see why would we want to track its address at all. Changing it to bool
and assigning true during initialization should be enough.
We already have kvm->arch.ept_identity_pagetable_done to indicate if the
ept
identity table is initialized. If we make
kvm->arch.ept_identity_pagetable to
bool, do you mean we have:
kvm->arch.ept_identity_pagetable: indicate if ept page is allocated,
kvm->arch.ept_identity_pagetable_done: indicate if ept page is initialized ?
I don't think we need this. Shall we remove
kvm->arch.ept_identity_pagetable ?
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html