diff options
Diffstat (limited to 'drivers/kvm/mmu.c')
-rw-r--r-- | drivers/kvm/mmu.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/kvm/mmu.c b/drivers/kvm/mmu.c index 4624f3789b9a..101cd5377a89 100644 --- a/drivers/kvm/mmu.c +++ b/drivers/kvm/mmu.c | |||
@@ -1535,6 +1535,25 @@ nomem: | |||
1535 | return -ENOMEM; | 1535 | return -ENOMEM; |
1536 | } | 1536 | } |
1537 | 1537 | ||
1538 | /* | ||
1539 | * Caculate mmu pages needed for kvm. | ||
1540 | */ | ||
1541 | unsigned int kvm_mmu_calculate_mmu_pages(struct kvm *kvm) | ||
1542 | { | ||
1543 | int i; | ||
1544 | unsigned int nr_mmu_pages; | ||
1545 | unsigned int nr_pages = 0; | ||
1546 | |||
1547 | for (i = 0; i < kvm->nmemslots; i++) | ||
1548 | nr_pages += kvm->memslots[i].npages; | ||
1549 | |||
1550 | nr_mmu_pages = nr_pages * KVM_PERMILLE_MMU_PAGES / 1000; | ||
1551 | nr_mmu_pages = max(nr_mmu_pages, | ||
1552 | (unsigned int) KVM_MIN_ALLOC_MMU_PAGES); | ||
1553 | |||
1554 | return nr_mmu_pages; | ||
1555 | } | ||
1556 | |||
1538 | #ifdef AUDIT | 1557 | #ifdef AUDIT |
1539 | 1558 | ||
1540 | static const char *audit_msg; | 1559 | static const char *audit_msg; |