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 E825AC369AB for ; Mon, 21 Apr 2025 19:22:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6C77B6B0005; Mon, 21 Apr 2025 15:22:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6502B6B0007; Mon, 21 Apr 2025 15:22:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4F0C06B0008; Mon, 21 Apr 2025 15:22:45 -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 2F1F06B0005 for ; Mon, 21 Apr 2025 15:22:45 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id A88D91CC957 for ; Mon, 21 Apr 2025 19:22:46 +0000 (UTC) X-FDA: 83359023132.18.0BCC1B9 Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf24.hostedemail.com (Postfix) with ESMTP id A2023180004 for ; Mon, 21 Apr 2025 19:22:41 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=mwbM+Y1c; spf=pass (imf24.hostedemail.com: domain of akpm@linux-foundation.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745263361; 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:dkim-signature; bh=0bCLAfTF4FM5pQTlYXP7s0ZGzz5SwXbYewX9AfOTLr4=; b=E6FaPyg21MVKnn7o79EbyWe3/WAMHt8w58BI1yKkxvHdRT04bdrCB6U/C6zS9DlTe7b80R 2w3TxpmmhzDSj1H/PzpVwv3RaMmcmAzDF6ocS/NFzYbyotqgjIfxiz7+NOoxvWsoSNkymV co1Qx3AuCjRFIWFNB7esz9wELN2i6rE= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=mwbM+Y1c; spf=pass (imf24.hostedemail.com: domain of akpm@linux-foundation.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745263361; a=rsa-sha256; cv=none; b=tblQ7vyUB1uKHq3vPsByPp15YBDfuLcYybVrd0lZQZUsZfc0JTc4vwSPOtpqLZRKrIdsIA Sm8n7oYkToZmzTeuH2zs2JVx61rnsH/M9bv2xUzHxCIr5x628W9fTMLV83pyNS/AbXL2uB Fa4KgYb6Gb9qIskmc5f1e8zo6nj4n98= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id EAB7E4A3BB; Mon, 21 Apr 2025 19:22:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 12AE6C4CEE4; Mon, 21 Apr 2025 19:22:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1745263360; bh=dLi5JKR6ufG2dYi6XT+ewltmtm9RyIzmokJF9TH3Ar4=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=mwbM+Y1c8/Um6XJE5PIr7/KJSc4ZF1T8Ofe+t82hopbM2/W5RSWsig5rkPr6xboMD 0SNfju7JbXbnYE2gvo8oOGSaczBnNm76+Y+O7bQGMdXWOD2jRj/2ZfD1CBsif+euBQ jwwDPKLZZ3+tRO/Nf45hl99WkP0iR0eOZzukLDfM= Date: Mon, 21 Apr 2025 12:22:39 -0700 From: Andrew Morton To: "Lance Yang" Cc: "David Hildenbrand" , mingzhe.yang@ly.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Lance Yang" Subject: Re: [RESEND PATCH v2 1/1] mm/rmap: add CONFIG_MM_ID guard for folio_test_large_maybe_mapped_shared() Message-Id: <20250421122239.710f5d63487853556cb8f57e@linux-foundation.org> In-Reply-To: <641755b75b4ecb9c9822e15e707a0ebf1e250788@linux.dev> References: <20250418152228.20545-1-lance.yang@linux.dev> <20250420162925.2c58c018defee9ee192be553@linux-foundation.org> <641755b75b4ecb9c9822e15e707a0ebf1e250788@linux.dev> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Stat-Signature: 87mmou4bgkbewfnp7apwsetof9uqtkip X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: A2023180004 X-Rspam-User: X-HE-Tag: 1745263361-993124 X-HE-Meta: U2FsdGVkX18XaQYc9r0UA5lpFAgfVPNclD2EVpoyu+r7/9OvsTN4r8GmPveXXHmUVLqLyncg89SjB7/6N168FnlHxhKiIjVsfxCcNsn3zuH8XNRzssh+Cu6wZDTRZJeUk1UfacnDkLF1hy+suOdRevXuQGaXqFNEcxFqwzDVca9E3uopOQgXLz5tkLGIAqhR90PN4SBwcL3Fu4dnHHZeIwpGwXY36L8lLqNV0p/ThjW+6tPqr80RUVyIrk6hfbMRMdEA8P9DEbx9GdFINAnaUih+HFMU4A4wnt72TKPrMPIEOTYh6+8CjPQBrGuvPovsYg2RNWcY9JOiL4+/IuqMzj2z5eyyF9vWZq7Mw0ob+v6aNUXhfqKrxi8+WROlycjp4pwqBkV9Nq0mDGlwvY0vHbLshn/jXx4VjbYwhdJUjJAp73ssLUMrpTYhHl9mGzoiqGYsKvuqVGpTzQT2+toAT2pLLNgdGOmMV1SMT9ptLIh3mkq3xMyicIg8LhB4hS7NIuHseDcuulOfI2fv3mFTArVBMYJQyGREKNkldlaWTZK44p83yOcv08hfaGybPcKzxTPffwmPBHHOIOjOYAobzOQLPSZbButsnpZRHZGr2ok5Cohfu1z0PBydMpvzQEhX4SZ7LvTPCQxiiZ/ByFtY9DSs+DSI7Ysz9HIZ/SvHlNpS7e63nvHpsrrsf5LUqjlEbrdSboNVxvAoGzb0FZUuslgpPTu+lCDsxQwr0/GxONrwhXRgYraAI0ZW4WZocu+k5g/2jndk0D8g0jejGaCzTNdWFHUWOeKGU08QbBPTFKm7Ht75jxt/8d8XXsZgG2SFyubOpZix8Ui+2SEAAXiqJIvBogPCYSekxd0cW8IHpB6fNJHVFgiEZb+LdzcvGMMzNoO8wkYx7G6crgrByNtj5xDnIWsqWiiYP2fNhypyvwp8QlxxIhdlPRUrZvPvCKZbv3sFdSOjaISaKmWQrSD 284KgODZ Vg8ceZrE/GQ3FYGB23HqOpkLr6uklT6U2BOl3ihRopy+SSC2b36Oj5YHjhw+GwzxKelRdq77lMQzVCjhSWVd8f1DtdKbWEPUnG8wmTouoToHZBd1gCrHmW3pB59FCVrTOG8e/pF0bHdXzIsrZytlqy55ui8NrNt9K5qr+rIG+RGVk6sJw8OikdBKAi20sD/Vb0D6zXf1ItHHFzppIM37VZar043j/QwBk1bgraFvu+H0sS+4qz2NAbJo3oOz6UXXLYiCE8N/K2RZXoUucAcXP9+3S078YXmNkifZ1QwaNtfrrkoX94LsT1dpFEqEi82JDLqLb 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 Mon, 21 Apr 2025 05:13:03 +0000 "Lance Yang" wrote: > > Can we just slap "#ifdef CONFIG_MM_ID" around the whole function? It > > > > should have no callers, right? If the linker ends up complaining then > > > > something went wrong. > > The reason we can't simply add #ifdef CONFIG_MM_ID around folio_test_large_maybe_mapped_shared() > is because its caller folio_maybe_mapped_shared() relies on IS_ENABLED(CONFIG_MM_ID). > > If we do, with CONFIG_TRANSPARENT_HUGEPAGE=N, we'll hit compilation errors like: > > ./include/linux/mm.h: In function ‘folio_maybe_mapped_shared’: > ./include/linux/mm.h:2337:16: error: implicit declaration of function ‘folio_test_large_maybe_mapped_shared’; did you mean ‘folio_maybe_mapped_shared’? [-Werror=implicit-function-declaration] > 2337 | return folio_test_large_maybe_mapped_shared(folio); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > | folio_maybe_mapped_shared > cc1: some warnings being treated as errors That's OK - provide a declaration of folio_maybe_mapped_shared() but no definition. So the compiled-out code can be compiled and the linker will confirm that it's never actually called.