aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/mmu.c
diff options
context:
space:
mode:
authorXiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>2011-11-24 04:39:18 -0500
committerAvi Kivity <avi@redhat.com>2011-12-27 04:17:37 -0500
commitbe6ba0f0962a39091c52eb9167ddea201fe80716 (patch)
tree52e46aad8cce4857def4dc03fc75955677027054 /arch/x86/kvm/mmu.c
parentbe593d6286075801bba6d60fa466a39c24cc7616 (diff)
KVM: introduce kvm_for_each_memslot macro
Introduce kvm_for_each_memslot to walk all valid memslot Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/mmu.c')
-rw-r--r--arch/x86/kvm/mmu.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index 715dcb4fb798..d737443cdfdb 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -1128,15 +1128,15 @@ static int kvm_handle_hva(struct kvm *kvm, unsigned long hva,
1128 int (*handler)(struct kvm *kvm, unsigned long *rmapp, 1128 int (*handler)(struct kvm *kvm, unsigned long *rmapp,
1129 unsigned long data)) 1129 unsigned long data))
1130{ 1130{
1131 int i, j; 1131 int j;
1132 int ret; 1132 int ret;
1133 int retval = 0; 1133 int retval = 0;
1134 struct kvm_memslots *slots; 1134 struct kvm_memslots *slots;
1135 struct kvm_memory_slot *memslot;
1135 1136
1136 slots = kvm_memslots(kvm); 1137 slots = kvm_memslots(kvm);
1137 1138
1138 for (i = 0; i < slots->nmemslots; i++) { 1139 kvm_for_each_memslot(memslot, slots) {
1139 struct kvm_memory_slot *memslot = &slots->memslots[i];
1140 unsigned long start = memslot->userspace_addr; 1140 unsigned long start = memslot->userspace_addr;
1141 unsigned long end; 1141 unsigned long end;
1142 1142
@@ -3985,15 +3985,15 @@ nomem:
3985 */ 3985 */
3986unsigned int kvm_mmu_calculate_mmu_pages(struct kvm *kvm) 3986unsigned int kvm_mmu_calculate_mmu_pages(struct kvm *kvm)
3987{ 3987{
3988 int i;
3989 unsigned int nr_mmu_pages; 3988 unsigned int nr_mmu_pages;
3990 unsigned int nr_pages = 0; 3989 unsigned int nr_pages = 0;
3991 struct kvm_memslots *slots; 3990 struct kvm_memslots *slots;
3991 struct kvm_memory_slot *memslot;
3992 3992
3993 slots = kvm_memslots(kvm); 3993 slots = kvm_memslots(kvm);
3994 3994
3995 for (i = 0; i < slots->nmemslots; i++) 3995 kvm_for_each_memslot(memslot, slots)
3996 nr_pages += slots->memslots[i].npages; 3996 nr_pages += memslot->npages;
3997 3997
3998 nr_mmu_pages = nr_pages * KVM_PERMILLE_MMU_PAGES / 1000; 3998 nr_mmu_pages = nr_pages * KVM_PERMILLE_MMU_PAGES / 1000;
3999 nr_mmu_pages = max(nr_mmu_pages, 3999 nr_mmu_pages = max(nr_mmu_pages,