[PATCH 0/2] arm64/mm: Enable batched TLB flush in unmap_hotplug_range()

From: Anshuman Khandual

Date: Sun Feb 01 2026 - 23:26:30 EST


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) sematics.

This series applies on 6.19-rc8 and tested on KVM guest.

Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Will Deacon <will@xxxxxxxxxx>
Cc: Ryan Roberts <ryan.roberts@xxxxxxx>
Cc: Yang Shi <yang@xxxxxxxxxxxxxxxxxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx

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 | 207 +++++++++++++++++++++++++++++++++++++++++---
1 file changed, 193 insertions(+), 14 deletions(-)

--
2.30.2