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 48181C10F1A for ; Tue, 7 May 2024 10:21:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CA3156B008C; Tue, 7 May 2024 06:21:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C52096B0092; Tue, 7 May 2024 06:21:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B1ACE6B0093; Tue, 7 May 2024 06:21:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 940C26B008C for ; Tue, 7 May 2024 06:21:49 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 127F31C0E32 for ; Tue, 7 May 2024 10:21:49 +0000 (UTC) X-FDA: 82091208738.12.133F20E Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf13.hostedemail.com (Postfix) with ESMTP id 59EF92000B for ; Tue, 7 May 2024 10:21:47 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=none; spf=pass (imf13.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715077307; 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=eWH/AeWo/1ZmjhV8xkyllxPYPfkaXQCRlFvi6eEYW5Y=; b=TdThuDx5E4e9mfgmuzZdaDdx8Li1RFxuzEhMawBDmE6FoGYQ0SQ5DiEtEDtrVElt9q8q7c 5reHeB61ONYQm+IgTn93nyYXYV/vFP2aRMCo6KMAwZGGAPA+kMkjHLkHKdZG6AzEg+GqD/ pwmR3V0yZbTo5MnroKm7Q84wZ822uhw= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=none; spf=pass (imf13.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715077307; a=rsa-sha256; cv=none; b=e+lqL8w9FoNNs4wbs96nxrrOKS7B9PstMI7CTWrxVfkxj9V0WwLkvQl+f1CeDPLSpETLHi aHkN6B/naOt5hnEY8iyhTfcD1avDVveJ54eddW8IfCW0sIqDKnlgGfKYeuSWJLTqUr6rfu MB66JYkZk6oAEeE/D7xmAyIDUi6le18= 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 ABC7C1063; Tue, 7 May 2024 03:22:12 -0700 (PDT) Received: from [10.1.34.181] (unknown [10.1.34.181]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1FCCC3F587; Tue, 7 May 2024 03:21:45 -0700 (PDT) Message-ID: <9576c979-8a11-48e2-aec4-646acf0d8e26@arm.com> Date: Tue, 7 May 2024 11:21:43 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/8] mm: move highest_order() and next_order() out of the THP config Content-Language: en-GB To: Baolin Wang , akpm@linux-foundation.org, hughd@google.com Cc: willy@infradead.org, david@redhat.com, ioworker0@gmail.com, wangkefeng.wang@huawei.com, ying.huang@intel.com, 21cnbao@gmail.com, shy828301@gmail.com, ziy@nvidia.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: From: Ryan Roberts In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Queue-Id: 59EF92000B X-Rspamd-Server: rspam06 X-Stat-Signature: 4r8xbigcdntnianqde738fcg51oixuib X-HE-Tag: 1715077307-942422 X-HE-Meta: U2FsdGVkX18u1UBGSU49J+YaZFqUigO2J2QbbeXbr6qs0Dw+sgggBlU5hG0W1/uHs+uHC+4A45n7YQn6CwLAgk4O/OV9LjuMmkS0e1M1RBn04VGde5N2CKMX6d8q+BNLLUVAEDncdOezILinseAHQWQ08/QD8kzqrCAtmWJdjRALDHCMbF4z1+d3royfUY1SM5pIg4pq+CEAHPq6Gd75nITwQnWGiYewP7CzBnjVG1dWGP+Kj97KsP5RBm3QhipksJy/blRWEs73UNo/Q0/VADnsVMB3prQeODdCzG+rohh0VeXAIOkPvEpM94DAgqZGRqfjNCP+1TrQmDkx6ZyxsPM/MVdyFCy6p8uhi9nP3aEI8mW0C/kg0Wz0p/AQQmdF/rlp3bgIPg5VZlMg65Ptc+mQ61jXco3u0abA7ykscYchcrBarUUl/C89E1V0szYt1CKjEvem7w2FIBPK2abj5YU1DCstP08CusgCp1a9/I+RyUSoZAN6SfaGYU6kos8gg7Nt4EE7D1HblKbt6DQc/K0fAAe8erTUPEcSFWTyJxyyQlIzqLOtFcnvNoE7hq98FGLbZ7GvMCRV7ElCI5ol7rguyAZ62jSGlRsgXn05OrLAGUbu378lWM3glTCJOiIGix7WtJQMMN0lZk9qOQIlqx9+TtFYQJ0rGRL6gCoLuZYptGvYLk0xMm2CC3kRwna8DGp1fZu8lVq6LVfMyKuJjNQFORktWi+ovo6k0Kw40G/8MvaF+F1PjMgOCm+vSmVJGkyN65Zxx8zThWgXc4peBCWunBTA4pHKqjiD2uvidGsJZL76rp1Xu6b6upzRV8DyO0lyVCpixHUI4PbS8wIEtEpall7SHk8znNGxjlkaTEZjD+gocIIJShNGJrNc7//n8FceKkdqo7UMm0QeiqdUbi1P20aeNUHHcMTa6IR7gwswMW7d2YxP5hi7I+elrH+1nlKNIUqPG1zliA0q+n5 z1v1SS+2 sK7N17g/jVOxfQ/pGhm38UEhM7apty55Zsj7H3NN/Zt+SCwy+v6PDsW9OCQhD4IHMcEinlSvel+HumWr1x/xGjko3XliFcC0H4o9SupaNfA4ce556QXbuVBxjSiBcE+QnteHNCb0FDZNhO+8bDtq6/4ln58MHr1+aqT7N9T14BJ1x/rGpTqTwb+0e+dqj+tIwHPHoXsHpKm0Fx2pBQZBkfhVxaA== 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 06/05/2024 09:46, Baolin Wang wrote: > Move highest_order() and next_order() out of the CONFIG_TRANSPARENT_HUGEPAGE > macro, which can be common functions to be used. Sorry if I haven't kept up with the discussion, but why is this needed? I wouldn't expect a need to iterate over orders if THP is compile-time disabled because we will never try to allocate THP? > > Signed-off-by: Baolin Wang > --- > include/linux/huge_mm.h | 22 +++++++++++----------- > 1 file changed, 11 insertions(+), 11 deletions(-) > > diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h > index 017cee864080..e49b56c40a11 100644 > --- a/include/linux/huge_mm.h > +++ b/include/linux/huge_mm.h > @@ -106,6 +106,17 @@ extern struct kobj_attribute shmem_enabled_attr; > #define HPAGE_PUD_MASK (~(HPAGE_PUD_SIZE - 1)) > #define HPAGE_PUD_SIZE ((1UL) << HPAGE_PUD_SHIFT) > > +static inline int highest_order(unsigned long orders) > +{ > + return fls_long(orders) - 1; > +} > + > +static inline int next_order(unsigned long *orders, int prev) > +{ > + *orders &= ~BIT(prev); > + return highest_order(*orders); > +} > + > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > > extern unsigned long transparent_hugepage_flags; > @@ -138,17 +149,6 @@ static inline bool hugepage_flags_enabled(void) > huge_anon_orders_madvise; > } > > -static inline int highest_order(unsigned long orders) > -{ > - return fls_long(orders) - 1; > -} > - > -static inline int next_order(unsigned long *orders, int prev) > -{ > - *orders &= ~BIT(prev); > - return highest_order(*orders); > -} > - > /* > * Do the below checks: > * - For file vma, check if the linear page offset of vma is