debugfs.c (820e9906cf64142169134f35b996108303cf22ca) | debugfs.c (a54d806688fe1e482350ce759a8a0fc9ebf814b0) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Kernel-based Virtual Machine driver for Linux 4 * 5 * Copyright 2016 Red Hat, Inc. and/or its affiliates. 6 */ 7#include <linux/kvm_host.h> 8#include <linux/debugfs.h> --- 93 unchanged lines hidden (view full) --- 102 if (!log[i]) 103 goto out; 104 } 105 106 mutex_lock(&kvm->slots_lock); 107 write_lock(&kvm->mmu_lock); 108 109 for (i = 0; i < KVM_ADDRESS_SPACE_NUM; i++) { | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Kernel-based Virtual Machine driver for Linux 4 * 5 * Copyright 2016 Red Hat, Inc. and/or its affiliates. 6 */ 7#include <linux/kvm_host.h> 8#include <linux/debugfs.h> --- 93 unchanged lines hidden (view full) --- 102 if (!log[i]) 103 goto out; 104 } 105 106 mutex_lock(&kvm->slots_lock); 107 write_lock(&kvm->mmu_lock); 108 109 for (i = 0; i < KVM_ADDRESS_SPACE_NUM; i++) { |
110 int bkt; 111 |
|
110 slots = __kvm_memslots(kvm, i); | 112 slots = __kvm_memslots(kvm, i); |
111 for (j = 0; j < slots->used_slots; j++) { 112 slot = &slots->memslots[j]; | 113 kvm_for_each_memslot(slot, bkt, slots) |
113 for (k = 0; k < KVM_NR_PAGE_SIZES; k++) { 114 rmap = slot->arch.rmap[k]; 115 lpage_size = kvm_mmu_slot_lpages(slot, k + 1); 116 cur = log[k]; 117 for (l = 0; l < lpage_size; l++) { 118 index = ffs(pte_list_count(&rmap[l])); 119 if (WARN_ON_ONCE(index >= RMAP_LOG_SIZE)) 120 index = RMAP_LOG_SIZE - 1; 121 cur[index]++; 122 } 123 } | 114 for (k = 0; k < KVM_NR_PAGE_SIZES; k++) { 115 rmap = slot->arch.rmap[k]; 116 lpage_size = kvm_mmu_slot_lpages(slot, k + 1); 117 cur = log[k]; 118 for (l = 0; l < lpage_size; l++) { 119 index = ffs(pte_list_count(&rmap[l])); 120 if (WARN_ON_ONCE(index >= RMAP_LOG_SIZE)) 121 index = RMAP_LOG_SIZE - 1; 122 cur[index]++; 123 } 124 } |
124 } | |
125 } 126 127 write_unlock(&kvm->mmu_lock); 128 mutex_unlock(&kvm->slots_lock); 129 130 /* index=0 counts no rmap; index=1 counts 1 rmap */ 131 seq_printf(m, "Rmap_Count:\t0\t1\t"); 132 for (i = 2; i < RMAP_LOG_SIZE; i++) { --- 54 unchanged lines hidden --- | 125 } 126 127 write_unlock(&kvm->mmu_lock); 128 mutex_unlock(&kvm->slots_lock); 129 130 /* index=0 counts no rmap; index=1 counts 1 rmap */ 131 seq_printf(m, "Rmap_Count:\t0\t1\t"); 132 for (i = 2; i < RMAP_LOG_SIZE; i++) { --- 54 unchanged lines hidden --- |