From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A0FCF2D73A0 for ; Tue, 24 Feb 2026 06:24:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771914277; cv=none; b=bYSxZlIEIu4BRfb8QmTjZQ0ZbRnLrIx1qH2ibeWJ3bqBKE0FcUHD+RaNZxoMFUvpK+Xevx1d9YRTRYubzmNgjUfzgDrO6VyiDqtDwEvENmOwLJ7X7Brg5EPOmBJK5nSy+t1VoQTKyOKD7dhMJTsOKVQ707Yrsdx1roJvZ6WdBew= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771914277; c=relaxed/simple; bh=wYnsB7EofcHlijQ/beOzEastwFfMjnkRa7BkPdrDpp8=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=gB/tNj3TFc5WHCnY9fQlURERE4bEP3GHzuugpx7PH8GF7jb+NQHapEixzhbZHzRwfB21rjVJws/sU78B0NuDovby1YPvk+B6WR1pwRKTp/Blhs9MEoiSIHG7ENa3/wcvfd9+0Mz/4vOg7rbicLXLckBNsHv9sdVRmdk6jrJuSUQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 46912339; Mon, 23 Feb 2026 22:24:27 -0800 (PST) Received: from ergosum.cambridge.arm.com (ergosum.cambridge.arm.com [10.1.196.45]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 10F033F62B; Mon, 23 Feb 2026 22:24:31 -0800 (PST) From: Anshuman Khandual To: linux-arm-kernel@lists.infradead.org Cc: david@kernel.org, mark.rutland@arm.com, Anshuman Khandual , Catalin Marinas , Will Deacon , Ryan Roberts , Yang Shi , Christoph Lameter , linux-kernel@vger.kernel.org Subject: [PATCH V3 0/2] arm64/mm: Enable batched TLB flush in unmap_hotplug_range() Date: Tue, 24 Feb 2026 06:24:21 +0000 Message-Id: <20260224062423.972404-1-anshuman.khandual@arm.com> X-Mailer: git-send-email 2.30.2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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@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 Cc: Will Deacon Cc: Ryan Roberts Cc: Yang Shi Cc: Christoph Lameter Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@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(-) -- 2.30.2