From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EF78142FCDA for ; Wed, 15 Jul 2026 18:38:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784140707; cv=none; b=jGqYnEXzoTI5LdzIMs7GavhG5lQXmN/1R1pVP5aYxiXTTvB1Oeg8vxADnrDK5/aAAFkDVIm8DZPbZfZeMVnplYODDLkiu21j51uoKTajJoMnQfExspYBskX+n4QXRP6hpBGW5jYdaXMRWujtexsWH0B20EanTDihd8jsiuGgiwo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784140707; c=relaxed/simple; bh=aODn4ezQE+KjjiaZT/KzomA0TymYG62OEymzadZDlqM=; h=Date:To:From:Subject:Message-Id; b=ZUMnrrpH6YIfBCCof6wqDlbuS6HZsIgSkYVc513d3K8N60lWHrtUGTluA4rhAncjiX0sFWe0Ven8hZqjcefKOwfUOtsk9tc2g673oyObqEPwZF77Ubyvxx3X8wdDGbwQL2IEFAsV2dHa7q2mJGAJwiepjQqHL9XE7gth7XMZVr4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=V1ZChn4+; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="V1ZChn4+" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D09B51F00A3D; Wed, 15 Jul 2026 18:38:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=korg; t=1784140694; bh=PpxHSk/CeyZuB7pGaC7armENj3EFflEYnPPokSW/qPE=; h=Date:To:From:Subject; b=V1ZChn4+YW8XWzM7b0LL5l6FOipKPvRX8jhiv4yhxSAlMbzcZYfVuz993+VtTJQMC XxIX7pyrI3+pu9ocZZgudUxPxxHwsjHtN8bOTa3I1CwX02qDt2IV3Vubc6JgTijwPj sD9LNbeUUf5RUgSDOAk1msu/londQ/0ZCWkJtWR0= Date: Wed, 15 Jul 2026 11:38:14 -0700 To: mm-commits@vger.kernel.org,baohua@kernel.org,akpm@linux-foundation.org From: Andrew Morton Subject: + arm64-vmalloc-allow-arch_vmap_pte_range_map_size-to-batch-multiple-cont_pte.patch added to mm-unstable branch Message-Id: <20260715183814.D09B51F00A3D@smtp.kernel.org> Precedence: bulk X-Mailing-List: mm-commits@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: The patch titled Subject: arm64/vmalloc: allow arch_vmap_pte_range_map_size to batch multiple CONT_PTE has been added to the -mm mm-unstable branch. Its filename is arm64-vmalloc-allow-arch_vmap_pte_range_map_size-to-batch-multiple-cont_pte.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/arm64-vmalloc-allow-arch_vmap_pte_range_map_size-to-batch-multiple-cont_pte.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via various branches at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there most days ------------------------------------------------------ From: "Barry Song (Xiaomi)" Subject: arm64/vmalloc: allow arch_vmap_pte_range_map_size to batch multiple CONT_PTE Date: Wed, 15 Jul 2026 20:08:08 +0800 Allow arch_vmap_pte_range_map_size to batch across multiple CONT_PTE blocks, reducing both PTE setup and TLB flush iterations. For CONT_PTE_SIZE-aligned ranges, return a power-of-two mapping size that may cover multiple CONT_PTE blocks, capped below PMD_SIZE. These sizes are vmalloc mapping spans, not HugeTLB hstate sizes. Link: https://lore.kernel.org/20260715120813.3609949-3-jiangwen6@xiaomi.com Signed-off-by: Barry Song (Xiaomi) Signed-off-by: Wen Jiang Tested-by: Xueyuan Chen Tested-by: Leo Yan Reviewed-by: Dev Jain Cc: Andrew Donnellan Cc: Anshuman Khandual Cc: Catalin Marinas Cc: David Hildenbrand Cc: Mike Rapoport Cc: Ryan Roberts Cc: "Uladzislau Rezki (Sony)" Cc: Wen Jiang Cc: Will Deacon Signed-off-by: Andrew Morton --- arch/arm64/include/asm/vmalloc.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) --- a/arch/arm64/include/asm/vmalloc.h~arm64-vmalloc-allow-arch_vmap_pte_range_map_size-to-batch-multiple-cont_pte +++ a/arch/arm64/include/asm/vmalloc.h @@ -23,10 +23,14 @@ static inline unsigned long arch_vmap_pt unsigned long end, u64 pfn, unsigned int max_page_shift) { + unsigned long size; + /* * If the block is at least CONT_PTE_SIZE in size, and is naturally * aligned in both virtual and physical space, then we can pte-map the * block using the PTE_CONT bit for more efficient use of the TLB. + * The returned mapping size may cover multiple CONT_PTE_SIZE blocks, + * capped below PMD_SIZE. */ if (max_page_shift < CONT_PTE_SHIFT) return PAGE_SIZE; @@ -40,7 +44,9 @@ static inline unsigned long arch_vmap_pt if (!IS_ALIGNED(PFN_PHYS(pfn), CONT_PTE_SIZE)) return PAGE_SIZE; - return CONT_PTE_SIZE; + size = min3(end - addr, 1UL << max_page_shift, PMD_SIZE >> 1); + size = rounddown_pow_of_two(size); + return size; } #define arch_vmap_pte_range_unmap_size arch_vmap_pte_range_unmap_size _ Patches currently in -mm which might be from baohua@kernel.org are mm-avoid-unnecessary-lru-drain-for-wp_can_reuse_anon_folio.patch mm-avoid-unnecessary-lru-drain-for-wp_can_reuse_anon_folio-fix.patch mm-drop-stale-folio_ref_count==1-check-in-do_swap_page-reuse-logic.patch mm-entirely-remove-lru_add_drain-in-do_swap_page.patch mm-clarify-the-folio_free_swap-for-do_swap_page.patch arm64-hugetlb-extend-batching-of-multiple-cont_pte-in-a-single-pte-setup.patch arm64-vmalloc-allow-arch_vmap_pte_range_map_size-to-batch-multiple-cont_pte.patch mm-vmalloc-extend-page-table-walk-to-support-larger-page_shift-sizes-and-eliminate-page-table-rewalk.patch mm-vmalloc-map-contiguous-pages-in-batches-for-vmap-if-possible.patch mm-vmalloc-align-vm_area-so-vmap-can-batch-mappings.patch