From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 52FD3C021A0 for ; Mon, 17 Feb 2025 04:33:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CEB3F28002E; Sun, 16 Feb 2025 23:33:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C9BE928002D; Sun, 16 Feb 2025 23:33:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BB11828002E; Sun, 16 Feb 2025 23:33:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 9DD2C28002D for ; Sun, 16 Feb 2025 23:33:41 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 4337F121816 for ; Mon, 17 Feb 2025 04:33:41 +0000 (UTC) X-FDA: 83128168242.29.B0570EC Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf03.hostedemail.com (Postfix) with ESMTP id 83F5420006 for ; Mon, 17 Feb 2025 04:33:39 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf03.hostedemail.com: domain of anshuman.khandual@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739766819; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=+tOQ187njbe5z4RyF0k4IJnhNqgW/KM/sOwzxrx3J+s=; b=rBt6Y0eOJJ+0/H4HxCWuw/LP5JYTjC+LxjM9elL1WaZTFSgyQhIaRYla4vvJXV+fHzHS7e o17eS8r4sIWyDGS/5CLxhAcKAATqSfaIFYdct9KTqP+aO/tsdeMximn9fvjcuysO236M7E ohROnrsuSB1xuG4v2cVXskTcpKPiE6o= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf03.hostedemail.com: domain of anshuman.khandual@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739766819; a=rsa-sha256; cv=none; b=DGwUey1iakdPtvw++TrwuQa7db6/m7NGxYEKxCYtwMzBuOPXLORYMuRYAbxTkXVjqs4/pv rHmi95IHaEz2+0W0eXTgxs872DalnYcZbtzHRLQWW6cHFlWQ4q0+1pEPAPTM3fmRA78jCv fTO9tzWP/YBn/u43O3O3Nhj93ZNweeE= 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 3077E1063; Sun, 16 Feb 2025 20:33:58 -0800 (PST) Received: from [10.162.16.135] (unknown [10.162.16.135]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 4C2B43F59E; Sun, 16 Feb 2025 20:33:34 -0800 (PST) Message-ID: <72f188c5-c078-4ff5-81a6-3a0c8b2edaea@arm.com> Date: Mon, 17 Feb 2025 10:03:31 +0530 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1 12/16] arm64/mm: Support huge pte-mapped pages in vmap To: Ryan Roberts , Catalin Marinas , Will Deacon , Muchun Song , Pasha Tatashin , Andrew Morton , Uladzislau Rezki , Christoph Hellwig , Mark Rutland , Ard Biesheuvel , Dev Jain , Alexandre Ghiti , Steve Capper , Kevin Brodsky Cc: linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20250205151003.88959-1-ryan.roberts@arm.com> <20250205151003.88959-13-ryan.roberts@arm.com> <9a0d3009-18fc-4b53-941a-b6d830fce36a@arm.com> <21da59a8-165d-4423-a00d-d5859f42ec11@arm.com> <0dd74f57-902a-4a6d-9f77-31963b5953d1@arm.com> Content-Language: en-US From: Anshuman Khandual In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Stat-Signature: 63nngs6cfw5iubazfw3xiy3ciqoahdaq X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 83F5420006 X-HE-Tag: 1739766819-793677 X-HE-Meta: U2FsdGVkX1/FF0+Q+ZxUOm1x9buSVWxajCXoEVGf0yPs3r3/BfgthZpmRagumQyIj51LF8jR249sp9bWI48S/ff7pHso+zfhtMX/wSsjidaKrQu7DjB7qXtJF/miujvD7Vg2AUFQ9Lr4DX3Jb2AzgQtj8uLjf+XgkhjlGvecAU1jfFJQxnS6JDwPkXa2vcrOAnAhJUgX083wW2/YTAkfQYa5ejsP1AEjj62dsguhtI2PjmkKFhXRjM+/NORt+hB2R+PrLVFBcyYpVm/NxqeDdS1h5LzO//GOOonKhgULqToWHPfcrhnY7YsK/tcBVibGqdVnc/OdNCGUPCbHr4AIuMR2GGlkZp+8WyXSqxPNRI5Xk3oRjER9TZ7xO6yzSoUSi9qKEl0EvDTTByUnLFuLj96PUI8y64x9W4erUHbAd8vgUHV3GV+nK9BcJB1HTQvL1IiWRBEHDSPba8TEpeAm5gWv1LpEZ1dBmlPeu5b/ykRWCQq4RavM4uzX+gAC635zQpMkgT+JzbQG/wcNWm71PI8cAIV1RqGkfwSployoetRnObozYVNEKRcHtKr/4clll0yq2N2pTFlA9MfyxQns3W/o4bEfiSUW/97aaA0JABOf2be0MYj2M4G47MdDdQkP8//2/YKQ0WdFnkBZYjGCEpxN0rgUOmKRoKtYIr8eKGyMNADrICsymjU+BWNtVSLTRWTHa0n25FZmoBcaNsynUlToNHmPrGGdqflcYvrdYcBEPJLeTZ9cgj58pmwYIwWoQ3nu3z1WDQmxFM6QtA/fG30tE3wzzlkDXZzE8NhdNg6hdj3GqJbwSEb8Khfa9+KF9uc7gJtFZNavNKbsHBf6TefORFXHJ7w8RGUpLOKZcd51kMQxAcsM97AlZ7Wp1xMOY/KNplfMd6xjrxVCNhu7oAUatZGXZC56gAsbbWheO9WYICXRYDwXShMjpdP/tsBiU/sm94QewPN4GAEvgMR x0VDWoQR ghzHj4QRHXU43HejCWPP+t0BwfWWDdFg5R/hQiCqIO19o30upYfAgqhZYkZAG/yPdJdNNMsw1qrbz3xHH7wn7L9pv4kSFKUCKG5+t4xCyIc/3++ahP8ScbWSla+yo0oMQXIJvSgNxB+5YIMmE+ij9st5cyw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 2/13/25 14:39, Ryan Roberts wrote: > >>>>> +#define arch_vmap_pte_range_map_size arch_vmap_pte_range_map_size >>>>> +static inline unsigned long arch_vmap_pte_range_map_size(unsigned long addr, >>>>> + unsigned long end, u64 pfn, >>>>> + unsigned int max_page_shift) >>>>> +{ >>>>> + if (max_page_shift < CONT_PTE_SHIFT) >>>>> + return PAGE_SIZE; >>>>> + >>>>> + if (end - addr < CONT_PTE_SIZE) >>>>> + return PAGE_SIZE; >>>>> + >>>>> + if (!IS_ALIGNED(addr, CONT_PTE_SIZE)) >>>>> + return PAGE_SIZE; >>>>> + >>>>> + if (!IS_ALIGNED(PFN_PHYS(pfn), CONT_PTE_SIZE)) >>>>> + return PAGE_SIZE; >>>>> + >>>>> + return CONT_PTE_SIZE; >>>> >>>> A small nit: >>>> >>>> Should the rationale behind picking CONT_PTE_SIZE be added here as an in code >>>> comment or something in the function - just to make things bit clear. >>> >>> I'm not sure what other size we would pick? >> >> The suggestion was to add a small comment in the above helper function explaining >> the rationale for various conditions in there while returning either PAGE_SIZE or >> CONT_PTE_SIZE to improve readability etc. > > OK I've added the following: > > /* > * 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. > */ Sounds good, thanks !