From nobody Tue Sep 16 06:08:06 2025 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4ACF4C3DA7A for ; Thu, 5 Jan 2023 23:05:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235920AbjAEXEt (ORCPT ); Thu, 5 Jan 2023 18:04:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47430 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232518AbjAEXEq (ORCPT ); Thu, 5 Jan 2023 18:04:46 -0500 Received: from smtp3-g21.free.fr (smtp3-g21.free.fr [IPv6:2a01:e0c:1:1599::12]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A42A0676CB for ; Thu, 5 Jan 2023 15:04:44 -0800 (PST) Received: from localhost (unknown [IPv6:2a01:e35:39f2:1220:c70:c024:95ee:ebbb]) by smtp3-g21.free.fr (Postfix) with ESMTPS id 17FD613F838; Fri, 6 Jan 2023 00:04:37 +0100 (CET) From: Yann Droneaud To: Hugh Dickins , Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yann Droneaud Subject: [PATCH] shmem: optimize shmem_huge_enabled() and shmem_is_huge() when !CONFIG_TRANSPARENT_HUGEPAGE Date: Fri, 6 Jan 2023 00:04:17 +0100 Message-Id: <20230105230417.966438-1-ydroneaud@opteya.com> X-Mailer: git-send-email 2.37.2 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" When CONFIG_TRANSPARENT_HUGEPAGE is not set, shmem_is_huge() is not needed outside of shmem.c. Signed-off-by: Yann Droneaud --- include/linux/shmem_fs.h | 9 +++++++++ mm/shmem.c | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h index d500ea967dc7..18a4968ded73 100644 --- a/include/linux/shmem_fs.h +++ b/include/linux/shmem_fs.h @@ -92,6 +92,7 @@ extern struct page *shmem_read_mapping_page_gfp(struct ad= dress_space *mapping, extern void shmem_truncate_range(struct inode *inode, loff_t start, loff_t= end); int shmem_unuse(unsigned int type); =20 +#ifdef CONFIG_TRANSPARENT_HUGEPAGE extern bool shmem_is_huge(struct vm_area_struct *vma, struct inode *inode, pgoff_t index, bool shmem_huge_force); static inline bool shmem_huge_enabled(struct vm_area_struct *vma, @@ -100,6 +101,14 @@ static inline bool shmem_huge_enabled(struct vm_area_s= truct *vma, return shmem_is_huge(vma, file_inode(vma->vm_file), vma->vm_pgoff, shmem_huge_force); } +#else /* !CONFIG_TRANSPARENT_HUGEPAGE */ +static inline bool shmem_huge_enabled(struct vm_area_struct *vma, + bool shmem_huge_force) +{ + return false; +} +#endif /* CONFIG_TRANSPARENT_HUGEPAGE */ + extern unsigned long shmem_swap_usage(struct vm_area_struct *vma); extern unsigned long shmem_partial_swap_usage(struct address_space *mappin= g, pgoff_t start, pgoff_t end); diff --git a/mm/shmem.c b/mm/shmem.c index c301487be5fb..9437c200a311 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -678,8 +678,8 @@ static long shmem_unused_huge_count(struct super_block = *sb, =20 #define shmem_huge SHMEM_HUGE_DENY =20 -bool shmem_is_huge(struct vm_area_struct *vma, struct inode *inode, - pgoff_t index, bool shmem_huge_force) +static inline bool shmem_is_huge(struct vm_area_struct *vma, struct inode = *inode, + pgoff_t index, bool shmem_huge_force) { return false; } --=20 2.37.2