From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D25BF3C8C68 for ; Thu, 9 Jul 2026 07:38:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.179 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783582728; cv=none; b=g09db+pZYJfqrQD005X2uudI6g3djtO/R0KUx+fE5oKMQeY3khLTv58+z3s2QhBfwMq2nUk4NkpIkh80DzkySjTyOVF8qxaW925inJbcVkLnu4YVVCVXxL2ZXyafNZ9U7+IdFgqOc/KO8Emg/VVF+aXxgy0mku0CWEPGGVFK7nw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783582728; c=relaxed/simple; bh=tRDnazfs7lWPh5cnYdEAzorpl8x6LYSaNtj0VArjpgg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=PyDdAIMwgKUwA5GOtEx4PSW099xpUT+Q8eMica5Wpja0B8t3GpVNzHc448GrLRv+mqqW4dzZR6s6XUAV4RYs6WHB12YI6j26rpplP2xng/m8AHNQ+tfKcMq0V7hEye2wrs16Z0xSeJ+7661lvpuWSCGY/mYl0MBzjMwTUr3GUjw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=DqDh7Wjs; arc=none smtp.client-ip=209.85.210.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DqDh7Wjs" Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-84862b0d5aeso151543b3a.2 for ; Thu, 09 Jul 2026 00:38:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783582726; x=1784187526; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=3jpuDRDbi/4o3nLvS/PJuVqgep/rW9uImCbTAY/NJ00=; b=DqDh7WjsIEtQ3iQ79Wq0GgrOYL3pgxUj3RD4HmyddikqWL1COoHCRpe6w90527jUNb 75P8ctNp6CKUERL1phrN12UnDhUD07mV+SIBBFwvkK/CdsU93mpGe6fz0U81BFpFMOHP c8zuH/4SeGECDicPymw8/H4KqvKc2MAfpg+3c1lXLZahSvwUSX+tXnzl2mfInme661wf ugVLtfArQ78qY0JTsYfF4IxiKiWibDjJ9/b1/nY7OSar/LKyFiOE6Mtv0yu1bL5IWWpx xdr9HSdUE6rW1BD7slIsknlIc/5ZLCYWd2bvNM8vljROmRwsEIBMXOi2vXxHR+JamqTN q6fw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783582726; x=1784187526; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=3jpuDRDbi/4o3nLvS/PJuVqgep/rW9uImCbTAY/NJ00=; b=DabCgJ+G5ZCMHCw7ezbVtoSeiV0QDz7XoEh0DbHjfu13F+E5qzYwyCfu94xxwkG72K iaxrGEjJq11mi69ZbLarnG6gd5YT1+BSDnC/2wRzEsEbhEaCCUUh1C3WRu4dc6OQgmWU 6ezKfZd9xVlsv7KkYM6JQwmfT6aLthJqlOxGqiD7dRHXv78bzkJXCn4/dNBV7z6a7lRQ 73EgcEuvx7Hg+kn9h9mbLxyXEwypbI5YHYVrAIOowiNV0fNgfDuEJx+3Nt+k7+6yLLYX mlEWeE/s+9WttxSshTH/8Fh/r9v5JFd+if/a1PjTKukbicSv0Fr2iXCCIE7MvBiZAUFI dPVg== X-Forwarded-Encrypted: i=1; AHgh+RocDc6Bl6tDRsAvRCEA8ikN+59NN9tDVk0TrnDWzExcqFELYuZHx0Int39pfMQCAB7JPhMhPLn1wzQQlc4=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5wrcYyUXyrNCTOxKLkvEMzLY/lh5Z1pK27pcFwaoZHGf6YUBB R86KJVEirJDccK5K51mr4RR/e/VxidFNQ3ajXwtpFucME3FitKrW2M9C X-Gm-Gg: AfdE7clqgpXEX1SXns3K4FTkBKoX3NdsuIf8V4A0ShDidrM1uhhm+DYgB5A4o2srYrf lkrBCgWbxA6ByukaPatHe41cx4hUtCmQNGJjDN0eddL5YIdU7B0uKHc8QdGPXro/KG5aCK27oQU owH9XhHugZioo4R7niqXKbWAvQHjf7tGQN9+vNzkCExZ7C2b/jxcjFejK8dQdR16Os86OudVm7R Bkk/ge+85fZj8IZkCV44MhblDHL5EarAxg4JNsggTm0Gp3V4sESZq038QuO38x72lrPcJrr93xW jEWwaFq1156R9SraboA744LRnYRLO4oGFw+ST86ZQlsQMVggclY33SgK3BtfoZei6aFQU/gdGfl uSaDlfGjQSrMrgZ1Ydfjah3dxmSoquj+utvK7SmXDS5SgxfhZfLnP0FZMETMMtEoY5MHEaJ3zpb ubPCtn/9DFEWhjzx91p/1wUhU3YuAVSEggXEM= X-Received: by 2002:a05:6a00:bd81:b0:848:2f6e:e532 with SMTP id d2e1a72fcca58-8484303809cmr5421671b3a.70.1783582726083; Thu, 09 Jul 2026 00:38:46 -0700 (PDT) Received: from mi-OptiPlex-7060.mioffice.cn ([43.224.245.234]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-ca5b3162a49sm3334902a12.15.2026.07.09.00.38.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Jul 2026 00:38:45 -0700 (PDT) From: Wen Jiang X-Google-Original-From: Wen Jiang To: akpm@linux-foundation.org, catalin.marinas@arm.com, linux-mm@kvack.org, urezki@gmail.com, will@kernel.org Cc: Xueyuan.chen21@gmail.com, ajd@linux.ibm.com, anshuman.khandual@arm.com, david@kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, rppt@kernel.org, ryan.roberts@arm.com, dev.jain@arm.com, "Barry Song (Xiaomi)" , Wen Jiang , Xueyuan Chen , Leo Yan Subject: [PATCH v6 2/6] arm64/vmalloc: Allow arch_vmap_pte_range_map_size to batch multiple CONT_PTE Date: Thu, 9 Jul 2026 15:38:19 +0800 Message-Id: <20260709073823.6643-3-jiangwen6@xiaomi.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260709073823.6643-1-jiangwen6@xiaomi.com> References: <20260709073823.6643-1-jiangwen6@xiaomi.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: "Barry Song (Xiaomi)" Allow arch_vmap_pte_range_map_size to batch across multiple CONT_PTE blocks, reducing both PTE setup and TLB flush iterations. Signed-off-by: Barry Song (Xiaomi) Signed-off-by: Wen Jiang Tested-by: Xueyuan Chen Tested-by: Leo Yan Reviewed-by: Dev Jain --- arch/arm64/include/asm/vmalloc.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/arm64/include/asm/vmalloc.h b/arch/arm64/include/asm/vmalloc.h index 4ec1acd3c1b34..7d9c7dc795c42 100644 --- a/arch/arm64/include/asm/vmalloc.h +++ b/arch/arm64/include/asm/vmalloc.h @@ -23,6 +23,8 @@ static inline unsigned long arch_vmap_pte_range_map_size(unsigned long addr, 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 @@ -40,7 +42,9 @@ static inline unsigned long arch_vmap_pte_range_map_size(unsigned long addr, 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 -- 2.34.1