Re: [PATCH] KVM: PPC: Book3S HV: Use RADIX_PTE_INDEX_SIZE in Radix MMU code
From: Leonardo Bras <hidden>
Date: 2020-02-19 18:26:49
Hello Michael, On Tue, 2020-02-18 at 15:36 +1100, Michael Ellerman wrote:
quoted hunk ↗ jump to hunk
In kvmppc_unmap_free_pte() in book3s_64_mmu_radix.c, we use the non-constant value PTE_INDEX_SIZE to clear a PTE page. We can instead use the constant RADIX_PTE_INDEX_SIZE, because we know this code will only be running when the Radix MMU is active. Note that we already use RADIX_PTE_INDEX_SIZE for the allocation of kvm_pte_cache. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> --- arch/powerpc/kvm/book3s_64_mmu_radix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/arch/powerpc/kvm/book3s_64_mmu_radix.c b/arch/powerpc/kvm/book3s_64_mmu_radix.c index 803940d79b73..134fbc1f029f 100644 --- a/arch/powerpc/kvm/book3s_64_mmu_radix.c +++ b/arch/powerpc/kvm/book3s_64_mmu_radix.c@@ -425,7 +425,7 @@ static void kvmppc_unmap_free_pte(struct kvm *kvm, pte_t *pte, bool full, unsigned int lpid) { if (full) { - memset(pte, 0, sizeof(long) << PTE_INDEX_SIZE); + memset(pte, 0, sizeof(long) << RADIX_PTE_INDEX_SIZE); } else { pte_t *p = pte; unsigned long it;
Looks fine to mee. For book3s_64, pgtable.h says: extern unsigned long __pte_index_size; #define PTE_INDEX_SIZE __pte_index_size powerpc/mm/pgtable_64.c defines/export the variable: unsigned long __pte_index_size; EXPORT_SYMBOL(__pte_index_size); And book3s64/radix_pgtable.c set the value in radix__early_init_mmu(). __pte_index_size = RADIX_PTE_INDEX_SIZE; So I think it's ok to use the value directly in book3s_64_mmu_radix.c. The include dependency looks fine for that to work. FWIW: Reviewed-by: Leonardo Bras <redacted>
Attachments
- signature.asc [application/pgp-signature] 833 bytes