Received: by 2002:a05:6358:16cc:b0:ea:6187:17c9 with SMTP id r12csp1527335rwl; Thu, 5 Jan 2023 15:11:37 -0800 (PST) X-Google-Smtp-Source: AMrXdXsYsrb3YY59uvtLz1A4nzoxsQIEjVU/4qA2swcKPBYnUWO+ZdXbDxXG638hfiWVxZtQFFly X-Received: by 2002:a17:907:d50e:b0:7b1:316c:38f5 with SMTP id wb14-20020a170907d50e00b007b1316c38f5mr47079344ejc.30.1672960297608; Thu, 05 Jan 2023 15:11:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672960297; cv=none; d=google.com; s=arc-20160816; b=S+OwoJOtzPUaAvXle+Ua7XkhS7vxqRJVn3b8jAO3nlcpKzrfvKPDe3rlJUZJ/JU6Gt xsgFUusqsr86C90qjZuiu1NYeDjOX/JvCTcUO+Cm395S+noV1SCcL7yXjXCss5psUH3M D3y8Ul/y+2YA9vbRzE0NVxrMMUPff8aLA8kUx5aiang508BToFdV3C+/eJTPHU/m2HL3 b1nnV6cYoIYbevoSVQ0vvioU3NcV7ZQStD2LKBVKFkXdpPBDWhdMM7/YM0K2S/2F8kQ4 L8Px9+5OFrk4kPtRVDkSqVZPMBK5o6a/4uzOLim4TILkJ3Nyzd2RNP/2OxbE8ONDiVik W41w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=lT/Za9UI5VMPlUELJMLsKwwOBGEarAKrskSzdn3KoRM=; b=VIEUut1itxQQ8O4JRm37NutY0WV6n4OpVBjJTMg3ppNq1Ut8fuXeW01JhnGNleOTk3 bKbDv+I3i4rkSw00+gZkPGWE4t8WOwY3ILlMNrCmTJvsP8jBsldcBNGO/5gcUKIcSQeQ fnIFecUnp7L8ED7FWt+PxHpBGbW6UafV5Gc6B9HVAGq1MLpqhB33zQMeSqeHks4L+duP N035uFKojTepAK0vryKQcJ6fmJ9j0Km0PEjlar9buEV6ik47FIzMi3YDrLidoQ/JAEMd JyQBR3J4bZ7IcqjR0B+1UZ/IFRa6K0l2RLtFQ2B13jVoYvgCv4I5CRfeNJ8GhjmcT2g1 qFbQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id be5-20020a1709070a4500b007c1479b6a89si29366419ejc.823.2023.01.05.15.11.23; Thu, 05 Jan 2023 15:11:37 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235327AbjAEXEs (ORCPT + 55 others); Thu, 5 Jan 2023 18:04:48 -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: 8bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 address_space *mapping, extern void shmem_truncate_range(struct inode *inode, loff_t start, loff_t end); int shmem_unuse(unsigned int type); +#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_struct *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 *mapping, 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, #define shmem_huge SHMEM_HUGE_DENY -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; } -- 2.37.2