Hi Will and Marc, On 9/8/20 1:23 AM, Will Deacon wrote:
Hi all, Here's version four of the KVM page-table rework I previously posted here: v1: https://lore.kernel.org/r/20200730153406.25136-1-will@xxxxxxxxxx v2: https://lore.kernel.org/r/20200818132818.16065-1-will@xxxxxxxxxx v3: https://lore.kernel.org/r/20200825093953.26493-1-will@xxxxxxxxxx Changes since v3 include: * Removed some more unused code from the old implementation * Renumbered KVM_PGTABLE_PROT_* to match file permissions in hex dumps * Simplified kvm_granule_shift() and removed kvm_start_level() * Only clear valid bit when invalidating a PTE, leaving phys addr intact * Fail gracefully when attempting to allocate without a memory cache * Rewrote stage2_apply_range() as a function instead of a macro * Fixed fault address rounding with hugetlbfs * Fixed permission fault handling when dirty logging is enabled * Added comments * Added reviewer tags Many thanks to Alex and Gavin for their comments. Will
[...] Eventually, I'm lucky finding a machine from our pool where 16KB page size is supported. I tried this series (v4) on this machine, everything looks good as we expected: Host: 5.9.0-rc3 + patchset (v4) CONFIG_ARM64_VA_BITS=47 CONFIG_ARM64_PAGE_SHIFT=14 Hugepagesize: 32768 kB (from /proc/meminfo) Config: -HugeTLBfs/-THP +HugeTLBfs/-THP -HugeTLBfs/THP Guest: CONFIG_ARM64_PAGE_SHIFT=12/14/16 Let me know in case there are more tests needed from my side. Thanks, Gavin _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm