All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/6] kvm, mem-hotplug: Do not pin ept identity pagetable and apic access page.
@ 2014-08-27 10:17 Tang Chen
  2014-08-27 10:17 ` [PATCH v4 1/6] kvm: Use APIC_DEFAULT_PHYS_BASE macro as the apic access page address Tang Chen
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ messages in thread
From: Tang Chen @ 2014-08-27 10:17 UTC (permalink / raw)
  To: gleb, mtosatti, nadav.amit, jan.kiszka
  Cc: kvm, laijs, isimatu.yasuaki, guz.fnst, linux-kernel, tangchen

ept identity pagetable and apic access page in kvm are pinned in memory.
As a result, they cannot be migrated/hot-removed.

But actually they don't need to be pinned in memory.

[For ept identity page]
Just do not pin it. When it is migrated, guest will be able to find the
new page in the next ept violation.

[For apic access page]
The hpa of apic access page is stored in VMCS APIC_ACCESS_ADDR pointer.
When apic access page is migrated, we update VMCS APIC_ACCESS_ADDR pointer
for each vcpu in addition.

NOTE: Tested with -cpu xxx,-x2apic option.
      But since nested vm pins some other pages in memory, if user uses nested
      vm, memory hot-remove will not work.

Change log v3 -> v4:
1. The original patch 6 is now patch 5. ( by Jan Kiszka <jan.kiszka@web.de> )
2. The original patch 1 is now patch 6 since we should unpin apic access page
   at the very last moment.


Tang Chen (6):
  kvm: Use APIC_DEFAULT_PHYS_BASE macro as the apic access page address.
  kvm: Remove ept_identity_pagetable from struct kvm_arch.
  kvm: Make init_rmode_identity_map() return 0 on success.
  kvm, mem-hotplug: Reload L1' apic access page on migration in
    vcpu_enter_guest().
  kvm, mem-hotplug: Reload L1's apic access page on migration when L2 is
    running.
  kvm, mem-hotplug: Do not pin apic access page in memory.

 arch/x86/include/asm/kvm_host.h |   3 +-
 arch/x86/kvm/svm.c              |  15 +++++-
 arch/x86/kvm/vmx.c              | 103 +++++++++++++++++++++++++++-------------
 arch/x86/kvm/x86.c              |  22 +++++++--
 include/linux/kvm_host.h        |   3 ++
 virt/kvm/kvm_main.c             |  30 +++++++++++-
 6 files changed, 135 insertions(+), 41 deletions(-)

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2014-09-10 14:01 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-27 10:17 [PATCH v4 0/6] kvm, mem-hotplug: Do not pin ept identity pagetable and apic access page Tang Chen
2014-08-27 10:17 ` [PATCH v4 1/6] kvm: Use APIC_DEFAULT_PHYS_BASE macro as the apic access page address Tang Chen
2014-09-10 13:57   ` Gleb Natapov
2014-08-27 10:17 ` [PATCH v4 2/6] kvm: Remove ept_identity_pagetable from struct kvm_arch Tang Chen
2014-09-10 13:58   ` Gleb Natapov
2014-08-27 10:17 ` [PATCH v4 3/6] kvm: Make init_rmode_identity_map() return 0 on success Tang Chen
2014-08-27 10:17 ` [PATCH v4 4/6] kvm, mem-hotplug: Reload L1' apic access page on migration in vcpu_enter_guest() Tang Chen
2014-09-02 16:00   ` Gleb Natapov
2014-09-03  1:42     ` tangchen
2014-09-03 15:04       ` Gleb Natapov
2014-09-09  7:13         ` tangchen
2014-09-10 14:01           ` Gleb Natapov
2014-08-27 10:17 ` [PATCH v4 5/6] kvm, mem-hotplug: Reload L1's apic access page on migration when L2 is running Tang Chen
2014-09-03  1:48   ` tangchen
2014-09-03 15:08   ` Gleb Natapov
2014-08-27 10:17 ` [PATCH v4 6/6] kvm, mem-hotplug: Do not pin apic access page in memory Tang Chen
2014-09-01  5:14 ` [PATCH v4 0/6] kvm, mem-hotplug: Do not pin ept identity pagetable and apic access page tangchen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.