[PATCH V3 0/2] arm64/mm: Enable batched TLB flush in unmap_hotplug_range()
Anshuman Khandual
anshuman.khandual at arm.com
Sun Mar 1 23:34:14 PST 2026
On 24/02/26 11:54 AM, Anshuman Khandual wrote:
> This series enables batched TLB flush in unmap_hotplug_range() which avoids
> individual page TLB flush for potential CONT blocks in linear mapping while
> also improving performance due to range based TLB operation along with less
> synchronization barrier instructions.
>
> It also now rejects memory removal that might split a leaf entry in kernel
> mapping, which would have otherwise required re-structuring using the break
> before make (BBM) semantics. But kernel cannot tolerate BBM, so remapping to
> fine grained leaves would not be possible on systems without BBML2_NOABORT.
>
> This series applies on 7.0-rc1 and tested on KVM guest.
>
> Changes in V3:
>
> - Fixed some typos in the commit message for [PATCH 2/2]
> - Dropped copying stable at vger.kernel.org per Ryan
>
> Changes in V2:
>
> https://lore.kernel.org/all/20260203130348.612150-1-anshuman.khandual@arm.com/
>
> - Renamed split_kernel_leaf_boundary() as addr_splits_kernel_leaf()
> - Dropped pte_valid()/pmd_leaf() before checking pte_cont()/pmd_cont()
> - Changed and dropped variables in can_unmap_without_split()
> - Moved can_unmap_without_split() after boot memory check
> - Renamed 'prevent_bootmem' as 'prevent_memory' across the board
> - Updated commit message in both patches
> > Changes in V1:
>
> - https://lore.kernel.org/all/20260202042617.504183-1-anshuman.khandual@arm.com/
>
> Cc: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Will Deacon <will at kernel.org>
> Cc: Ryan Roberts <ryan.roberts at arm.com>
> Cc: Yang Shi <yang at os.amperecomputing.com>
> Cc: Christoph Lameter <cl at gentwo.org>
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-kernel at vger.kernel.org
>
> Anshuman Khandual (2):
> arm64/mm: Enable batched TLB flush in unmap_hotplug_range()
> arm64/mm: Reject memory removal that splits a kernel leaf mapping
>
> arch/arm64/mm/mmu.c | 236 ++++++++++++++++++++++++++++++++++++++++----
> 1 file changed, 216 insertions(+), 20 deletions(-)
>
Gentle ping. Any updates on this ?
More information about the linux-arm-kernel
mailing list