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 15CABC369AB for ; Thu, 24 Apr 2025 15:56:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 597276B00BC; Thu, 24 Apr 2025 11:56:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 546706B00BF; Thu, 24 Apr 2025 11:56:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3C0FF6B00CB; Thu, 24 Apr 2025 11:56:29 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 1B9046B00BC for ; Thu, 24 Apr 2025 11:56:29 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id CB7E5160FFE for ; Thu, 24 Apr 2025 15:56:29 +0000 (UTC) X-FDA: 83369389698.27.2E3DB97 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by imf22.hostedemail.com (Postfix) with ESMTP id 05181C0007 for ; Thu, 24 Apr 2025 15:56:27 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ZtToiDLo; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf22.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.214.177 as permitted sender) smtp.mailfrom=ioworker0@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745510188; a=rsa-sha256; cv=none; b=Gpdrhj1u/NNbH+0+2j9weSPDiliWj1ybtp+UubXzU/aVIyZmoFniJapJiPdM4OovhLXqlI Vs0lHBGLn8GhBA+qFWdeldBOUXw+Lh0E4/yob7CFUMB64etLmMqUxDxcRp2s6byFJBocip AyCaxuQxVKWiUZ6HpgbhjxygdkRq4TE= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ZtToiDLo; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf22.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.214.177 as permitted sender) smtp.mailfrom=ioworker0@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745510188; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=D+990TcBUFhtTTgKom6UuFD++adz/Rg+B7elTs/xmlw=; b=5G3l2lXq7hRI0bKFcQ1YMTlqK8t8BPMUXIZ0WledgMU6wrOA/yd1Beod9sFeQmG6AZfYZR UxP3MLX4NuavcUZPSrkTd5s8TBvIyKPRSKEFAb2CB6WwOUaPySmNSt63rXE6YAJgPaU61q blj7OGrN3YFhI8POUBnJBXHHQJjMOnQ= Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-22928d629faso12939315ad.3 for ; Thu, 24 Apr 2025 08:56:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745510187; x=1746114987; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=D+990TcBUFhtTTgKom6UuFD++adz/Rg+B7elTs/xmlw=; b=ZtToiDLolyjfp79l5/Jdvp6mB5fnlGoKC2vdgFLd/W9a3aOzqMgPq7z8T2aRqu0AQT D8yGwUXP9kHCpP2r4yVXPtXvgw4O2/mQ3ShSAUMGahxtK3+eo2aIRfd2i8gfVwMJUC+b hrqhnI/hpKzfQrl+WwLQwFHOg+auLgWwPgbqjpBLRwYZsjC7jiJiN9JibzwgxQTU+QtP 0gomhUtdZElYuhTNPhCseXQxcPZxZU/yT7PqGSrV7/TfE7asZ9YrJjuecc8dnSlIqEpL WLXBYzEPBzkq7Q9iqxqrcyhy/vljfnf+5XUsbMpAy8ZU6rAinyvHe86q5Nqk7VlQZuJ0 EviQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745510187; x=1746114987; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=D+990TcBUFhtTTgKom6UuFD++adz/Rg+B7elTs/xmlw=; b=Lgnq8i1KWRiWiz87JINf5dwkMe+y/cxeHUcIkmEVM0OCBkDrVDjnSK3qVHZsQwh3e4 waABP4Tc2uif5kn1Tpl2NdQJ9n7TTDR5S90C9cTo0Opxppk0DZ/Lsz+9wTcm3Hw/aNJm X204aNKnC4vyEvUqza1nj9IMrG0YZ2Sr9yp8uWI6sHZUphMokL4ILUiBOU5jHJehcpkc rgJdewZ7aPB7iIe/ZpzLcf0e+hlsW/OxZ2wZO9iIXU9/Id2RBWLugR5k6sRMSIr1Pt79 WgiJY/dsdyXQNHBkHqcX4f67AnmZ0zbw0bFIrU/oUP5BwRwBx3xLWm/ZCcHh881klXmO 6W/w== X-Forwarded-Encrypted: i=1; AJvYcCVTr+sf8IhnYXewRSmuPyrUreO0b7MOiDPYN5at4Wqmr961sZ3oObp+BvavZuM6UIkJyXvrZbPljA==@kvack.org X-Gm-Message-State: AOJu0YxsWX/XbT+gkAHQhXai1aKMSZV3L/5OLx7nO7Ge8Uq81j5bYnOv KePBG0ZdScEB9FuDUnfVSVObXaKIij85WxseCTSoqApVosC47zy3 X-Gm-Gg: ASbGncspsX/KCmWYw332yDqVp6KF1aiqcHGtDhE8vDPUd50gbOCvk7hk0tITeY+9lGX A0nhQfO79FjgbXh6efsU1xDNGg5WVVmdTITp2uuoJctSuYaYBeYhdcgi32Cd1pF1DNwXaaJXGqs TVfVsmpYC6gTUVZ0lxbQEnhTm/fPqBCafztFC6xxFCK4LLjZJlGOebJFgrh1LZRngJLFBTskwcW zZzn1bbAuIW0K1jndcRl6ow0i6x57t9EnpFsWgJMV1pFTB7syHVpq+f20c38gZuXzaq1AMX+I+F hTlWaBgoE9vOs1P0dAiTMEUxT4tfPJdlUmJ53OgywExEJx+411Bq X-Google-Smtp-Source: AGHT+IHokjhN3alNq7Wfj0FxT/nwbc0QoFDiP1nT0BXfFxf8IUIktiByl37EfV5cp3+21OPOjeHn2w== X-Received: by 2002:a17:903:2a8e:b0:220:df73:b639 with SMTP id d9443c01a7336-22db3d7b0e3mr49535955ad.36.1745510186794; Thu, 24 Apr 2025 08:56:26 -0700 (PDT) Received: from localhost.localdomain ([124.156.216.125]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22db4d76fc0sm15218905ad.27.2025.04.24.08.56.23 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 24 Apr 2025 08:56:26 -0700 (PDT) From: Lance Yang X-Google-Original-From: Lance Yang To: akpm@linux-foundation.org Cc: mingzhe.yang@ly.com, david@redhat.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Lance Yang Subject: [PATCH v3 1/1] mm/rmap: inline folio_test_large_maybe_mapped_shared() into callers Date: Thu, 24 Apr 2025 23:56:06 +0800 Message-ID: <20250424155606.57488-1-lance.yang@linux.dev> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 05181C0007 X-Stat-Signature: 55x19kf3gfiay4q3hu958nboumishqnf X-Rspam-User: X-HE-Tag: 1745510187-452063 X-HE-Meta: U2FsdGVkX1/uL5jLALj0EGjfRqhIDeqVORSMNzBeQazEuJKG1z7UkCYwPqjlw46g6Y+icz063yL1wFJ0k97ORLeA733XSYQKmHneyNEPESmq84dfLWQnkTut2uqOF1tVu8lFe0u0VgSim2GezIOzmdtBIl8fw/KSB9gdNvcZiYxmA4FqCHZfuUTm54NmSvnqTgQ/FBDIXAVGek06DhHPLKoGhOzdmDyyFSZYehlHV2BgIMUT6v0VldkqjDAuh4a1c8NbpxW/t2df+zv19KA4+FHOoADQW8Ar5VaodOzZi5iA1rEPiiyFKpmRbQFvq32mYHCwFuSJoXid9fe2oJOzuRhBb9LjGX3n+v+eWxiOMQvUptnJWV1UdNcZVNVAlsjusAvhE9iT4vRCQpxCQAhJsEcqL03YLCl04VRIdIpIJHrSxhTctwc2Ctd9B0iAGgf6aw1oylXxlxwG2+ys3/34D7x34YiBH3hlsDtdt3ZwCbuKBf28Akej1a0azbKOKqdcBc3BtBG84zVAvsAdtD1GyBLabLPkXq69+eGIotUbZl/CxS5KXnAqw2I4EprAenoFdyCBeDIQRVKZpnCrnjui01LEv8HmP0nKC3xI2QJUoWRYNwMBOD3dWfcaQewh+IiP/jeFu1HPCrS2vZoc+ZP5d33hJrPW3kq13bLnUL9wDdaJucB8oxuNplpvDU9QgW7cFen52Q0CrB/ncl72jq6vx0fIzqD6cq6pMgWzODqR0b/IIKUd3oPdUKktjJglwD2Ak+97ZoBsSQuEgafM8sX6acz3ZoWUzDsxDGaKdXp/LxAQnNkyptqEsP4g9GXBnKJSgzAo3iGuu/qnm5ODe0y1QaG550Skg8SY5mSPQJjrB3qXWz57rUwx3jEEbUVNWwdB4w8PSuOzAQV3zVdZnh15cG4khbbPy1R7RidueHFwVzgsJWRbkBy1XM2fgBPS3jPqO7B8WOcTi+CTnJuzdxe 5WqUHq+z gm/rys2sKQ9wIZV4VjMCM/BMdjNh7X0UOCmYCmZVNR7lrBPJl8Id/k5O8bMz4mXKEIpdoY67V13ApPSmv8x/KDfT1rkxHN+PSQ3wkjyQimzy9Rk5kd+oS8MQEaS0TaaddLV0uVXSi01/EWYudR+enuWOLLv3W+HIuUoEj+gEGFP0bWfX3VA8Or2IKVTPHudPZfK+eHQpw0/DphhmkHCBDHFPdSsIEYz7QRnRqRsV/gm/HLZEDw99euBsQFssxzvCWdM6pphky89LN19jztQPnVQjz+ve6VbMjwYNY7p9a5bmuoqAboVhwyafthJQhLeiVCEQE7B65w/bA8yNDgAka+iV0FZEVC0JwGLatrxtgmNwA2OSHDjKduYqokMBTXU8YDeW2urd4IVyFLC6TzaQiHzekWkq3KKdeQKPLezmyyx8pk5M= 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: From: Lance Yang To prevent the function from being used when CONFIG_MM_ID is disabled, we intend to inline it into its few callers, which also would help maintain the expected code placement. Suggested-by: David Hildenbrand Signed-off-by: Lance Yang --- v2 -> v3: * Inline the function, suggested by David * https://lore.kernel.org/all/20250418152228.20545-1-lance.yang@linux.dev v1 -> v2: * Update the changelog, suggested by Andrew and David * https://lore.kernel.org/linux-mm/20250417124908.58543-1-ioworker0@gmail.com include/linux/mm.h | 2 +- include/linux/page-flags.h | 4 ---- include/linux/rmap.h | 2 +- mm/memory.c | 4 ++-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index bf55206935c4..67e3b4f9cdc8 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2303,7 +2303,7 @@ static inline bool folio_maybe_mapped_shared(struct folio *folio) */ if (mapcount <= 1) return false; - return folio_test_large_maybe_mapped_shared(folio); + return test_bit(FOLIO_MM_IDS_SHARED_BITNUM, &folio->_mm_ids); } #ifndef HAVE_ARCH_MAKE_FOLIO_ACCESSIBLE diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index e6a21b62dcce..8107c2ea43c4 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -1230,10 +1230,6 @@ static inline int folio_has_private(const struct folio *folio) return !!(folio->flags & PAGE_FLAGS_PRIVATE); } -static inline bool folio_test_large_maybe_mapped_shared(const struct folio *folio) -{ - return test_bit(FOLIO_MM_IDS_SHARED_BITNUM, &folio->_mm_ids); -} #undef PF_ANY #undef PF_HEAD #undef PF_NO_TAIL diff --git a/include/linux/rmap.h b/include/linux/rmap.h index 6b82b618846e..c4f4903b1088 100644 --- a/include/linux/rmap.h +++ b/include/linux/rmap.h @@ -223,7 +223,7 @@ static inline void __folio_large_mapcount_sanity_checks(const struct folio *foli VM_WARN_ON_ONCE(folio_mm_id(folio, 1) != MM_ID_DUMMY && folio->_mm_id_mapcount[1] < 0); VM_WARN_ON_ONCE(!folio_mapped(folio) && - folio_test_large_maybe_mapped_shared(folio)); + test_bit(FOLIO_MM_IDS_SHARED_BITNUM, &folio->_mm_ids)); } static __always_inline void folio_set_large_mapcount(struct folio *folio, diff --git a/mm/memory.c b/mm/memory.c index ba3ea0a82f7f..5e033adf67b1 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -3730,7 +3730,7 @@ static bool __wp_can_reuse_large_anon_folio(struct folio *folio, * If all folio references are from mappings, and all mappings are in * the page tables of this MM, then this folio is exclusive to this MM. */ - if (folio_test_large_maybe_mapped_shared(folio)) + if (test_bit(FOLIO_MM_IDS_SHARED_BITNUM, &folio->_mm_ids)) return false; VM_WARN_ON_ONCE(folio_test_ksm(folio)); @@ -3753,7 +3753,7 @@ static bool __wp_can_reuse_large_anon_folio(struct folio *folio, folio_lock_large_mapcount(folio); VM_WARN_ON_ONCE(folio_large_mapcount(folio) < folio_ref_count(folio)); - if (folio_test_large_maybe_mapped_shared(folio)) + if (test_bit(FOLIO_MM_IDS_SHARED_BITNUM, &folio->_mm_ids)) goto unlock; if (folio_large_mapcount(folio) != folio_ref_count(folio)) goto unlock; -- 2.49.0