Looking into vma_(kernel|mmu)_pagesize(), I realized that there is one scenario where DAX would not do the right thing when the kernel is not compiled with hugetlb support.
Without hugetlb support, vma_(kernel|mmu)_pagesize() will always return PAGE_SIZE instead of using the ->pagesize() result provided by dax-device code. Fix that by moving vma_kernel_pagesize() to core MM code, where it belongs. I don't think this is stable material, but am not 100% sure. Also, move vma_mmu_pagesize() while at it. Remove the unnecessary hugetlb.h inclusion from KVM code. Cross-compiled heavily. Cc: Andrew Morton <[email protected]> Cc: Madhavan Srinivasan <[email protected]> Cc: Nicholas Piggin <[email protected]> Cc: Michael Ellerman <[email protected]> Cc: "Christophe Leroy (CS GROUP)" <[email protected]> Cc: Muchun Song <[email protected]> Cc: Oscar Salvador <[email protected]> Cc: Lorenzo Stoakes <[email protected]> Cc: "Liam R. Howlett" <[email protected]> Cc: Vlastimil Babka <[email protected]> Cc: Mike Rapoport <[email protected]> Cc: Suren Baghdasaryan <[email protected]> Cc: Michal Hocko <[email protected]> Cc: Jann Horn <[email protected]> Cc: Pedro Falcato <[email protected]> Cc: Paolo Bonzini <[email protected]> Cc: Dan Williams <[email protected]> David Hildenbrand (Arm) (4): mm: move vma_kernel_pagesize() from hugetlb to mm.h mm: move vma_mmu_pagesize() from hugetlb to vma.c KVM: remove hugetlb.h inclusion KVM: PPC: remove hugetlb.h inclusion arch/powerpc/kvm/book3s_hv.c | 1 - include/linux/hugetlb.h | 14 -------------- include/linux/mm.h | 22 ++++++++++++++++++++++ mm/hugetlb.c | 28 ---------------------------- mm/vma.c | 21 +++++++++++++++++++++ virt/kvm/kvm_main.c | 1 - 6 files changed, 43 insertions(+), 44 deletions(-) base-commit: f75825cdfc4c5477cffcfd2cafa4e5ce5aa67f13 -- 2.43.0
