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 8F277C369C2 for ; Tue, 22 Apr 2025 04:35:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1E8036B000A; Tue, 22 Apr 2025 00:35:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 170FE6B000D; Tue, 22 Apr 2025 00:35:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 010F06B000E; Tue, 22 Apr 2025 00:35:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id D64356B000A for ; Tue, 22 Apr 2025 00:35:23 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 79DE21A0476 for ; Tue, 22 Apr 2025 04:35:24 +0000 (UTC) X-FDA: 83360415768.26.55FC0BA Received: from out-182.mta1.migadu.com (out-182.mta1.migadu.com [95.215.58.182]) by imf08.hostedemail.com (Postfix) with ESMTP id 0CDBC160003 for ; Tue, 22 Apr 2025 04:35:20 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=oBfoJJdr; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf08.hostedemail.com: domain of lance.yang@linux.dev designates 95.215.58.182 as permitted sender) smtp.mailfrom=lance.yang@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745296522; a=rsa-sha256; cv=none; b=ETXxVv2/JlJPw+X+PCzJbsqV6VytDcof2kCrfDmeNjR+nrhe87pt+fpJaKV7UH64VwRihl gga6JeS8217/dRJcjZPcbdyWQUUlUFx9unwu42azuN7pRmPYvl5WzSwgz2LgclZ75vZH8j xvnlVh95jSYZSGWD9dhD16g8hOSFnHg= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=oBfoJJdr; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf08.hostedemail.com: domain of lance.yang@linux.dev designates 95.215.58.182 as permitted sender) smtp.mailfrom=lance.yang@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745296522; 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=qfm/xW4Ogh3To9+LnQW2Co4714wv98el26JPYuLacLQ=; b=Acvxpw6vIhU5KR+Q8KFzt6rIOmuofQOdJv2rX0OKWh47b3mzcttUfmDuWnJ/34F7gG9lah RYH0w9tMmCxzCvgvtzybna0VKNFAoNtkLUdh3bID2AeqJf4wNL726CXin9d4DTVXfZe5ak LREKLr3IUSo1u72/iic4jptQYFuMhns= MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1745296517; h=from:from: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=qfm/xW4Ogh3To9+LnQW2Co4714wv98el26JPYuLacLQ=; b=oBfoJJdrG69JOiyKYXNFzMQ5DjWWwY/TkWUu+bBv+LRMKgylBSodgjGIzhE+q++AuJApKo NMuqQZdHIRc95gl8+McmerUrh0JidKUP7gCDhe4lUveJjm5imAUcwBOeEQ1svyFQiL5732 NqRJOLRSdgoSoZ+mt6JO7CfRoan7WgQ= Date: Tue, 22 Apr 2025 04:35:14 +0000 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: "Lance Yang" Message-ID: TLS-Required: No Subject: Re: [RESEND PATCH v2 1/1] mm/rmap: add CONFIG_MM_ID guard for folio_test_large_maybe_mapped_shared() To: "Andrew Morton" , "David Hildenbrand" Cc: mingzhe.yang@ly.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Lance Yang" In-Reply-To: <20250421122239.710f5d63487853556cb8f57e@linux-foundation.org> References: <20250418152228.20545-1-lance.yang@linux.dev> <20250420162925.2c58c018defee9ee192be553@linux-foundation.org> <641755b75b4ecb9c9822e15e707a0ebf1e250788@linux.dev> <20250421122239.710f5d63487853556cb8f57e@linux-foundation.org> X-Migadu-Flow: FLOW_OUT X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 0CDBC160003 X-Stat-Signature: mdzarw36znq9mzi9ky57y8wjth95nq6h X-Rspam-User: X-HE-Tag: 1745296520-102105 X-HE-Meta: U2FsdGVkX184X+BdTpjlnRydx/pVEKub5zgbe5NEdQOjWEYUwsjPfgsvDCHwqQX2qFNe3x9GsCgYEstNeoO/mhTPA3mF9VswFYZB2a1OMbGzPc2Y/T/VlzAlSJRvA3OObwwzRq8suy74WMaR1KuYQMALqS1BLhaHjC47RrT8tDo5gZ48sQnpL2ydN0ILUDTzE1aroDhZ8SjDEChs7VBLlJhpZYTA5hqZsj/BtjpSoNB9I3CnUcjLJhDl8anHiZOVRBtMP9wOegsEk5vx8+ah3xGI1a/B7efY1lpryBGLvkEdhESt7oBsuY7zUFOoP1DKgbNvoVLedY06pEq5Ui0GzCCmzdna/MOjapNq6aSQrG+aM4KqlkP9MocKOG6rxT9aZ+8P1CIPaUV+hG2aCKFM9Iff5SKQTyl9XDYcn4jcWfOvNALcihZmI76gw45Oxk9WpgjyrGCjficlmRWySRVLsvjJbCIciBxWpMvwnQp1C7Qmz0sm5zQhqgfkngaZn1aHwBK0nGuO2OcMhk1uU3nVk3eMyeoRHH3f7/Dg1HAeRlcAvAGA7L80ienqej4JhU5T3ZDelyGNR2eYvQbiaTnM/QbAsCQ8Dit56zt/UZv3JplnHVpkIPvTs2zOV/ddqRrdhlXdlv3bwxCf6FJFRqsVMUqiduPZVcqULTSMipOp7UDzm+0RpMJFHfrJuDgJ4Fze5vtcYcXr/45VIe31xz9izan7fVgk2bjdkCL2uQsNbZCuA0yaH2zgREOMJeg7/0vlnJ6z2vpqHx0kYepPLsHPV/SaUbaHzol1zLqy73WLDt/byPYh4g2YOMTXdG3PddyOe5BSbIp2QEdigqD8rSysSIJd4kca/9koRw0wOTqYa0w51pp2TeAXzRpgxjmpFyJqjIJD1eXgd88YVXMYSr20OMb9PYM0srMeE1PMb8um6ci/0Ojs7INWhC4LZT6a55/54ewlCHn73T292Tvw4JX XWxL3ln4 kR4DRsUm6YoH9Ogrve4lyC7XZEh6nQCZdE4VoA8seDCuU2J/t8oiHG5R8BxLdffXnkH6kdEpmFeZCJMbtKSexi6kOoVoN1Omm2Th38icqSXvwnKPKkRUz2IN6JDE+EyLwzxykWQ4ivfW/5YyuOGtk2zvT9OodSjTL3ajYgIgI8PT4Ky03ZGzW1P2KkhRbtmPuRNT/ifLgPNHwOvzNd7SlzIH11aQ1/D94k8sbZc2ZWkaH0uTZ7OX/kIsoKRhJBUsLz8suTj+4D9vZ3cBfdDdixeeQdjTOTmMVacmq 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: April 22, 2025 at 3:22 AM, "Andrew Morton" wr= ote: >=20 >=20On Mon, 21 Apr 2025 05:13:03 +0000 "Lance Yang" wrote: >=20 >=20>=20 >=20> Can we just slap "#ifdef CONFIG_MM_ID" around the whole function? I= t > >=20 >=20>=20=20 >=20>=20 >=20> should have no callers, right? If the linker ends up complaining t= hen > >=20 >=20>=20=20 >=20>=20 >=20> something went wrong. > >=20 >=20>=20=20 >=20>=20 >=20> The reason we can't simply add #ifdef CONFIG_MM_ID around folio_te= st_large_maybe_mapped_shared() > >=20 >=20> is because its caller folio_maybe_mapped_shared() relies on IS_ENA= BLED(CONFIG_MM_ID). > >=20 >=20>=20=20 >=20>=20 >=20> If we do, with CONFIG_TRANSPARENT_HUGEPAGE=3DN, we'll hit compilat= ion errors like: > >=20 >=20>=20=20 >=20>=20 >=20> ./include/linux/mm.h: In function =E2=80=98folio_maybe_mapped_shar= ed=E2=80=99: > >=20 >=20> ./include/linux/mm.h:2337:16: error: implicit declaration of funct= ion =E2=80=98folio_test_large_maybe_mapped_shared=E2=80=99; did you mean = =E2=80=98folio_maybe_mapped_shared=E2=80=99? [-Werror=3Dimplicit-function= -declaration] > >=20 >=20> 2337 | return folio_test_large_maybe_mapped_shared(folio); > >=20 >=20> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >=20 >=20> | folio_maybe_mapped_shared > >=20 >=20> cc1: some warnings being treated as errors > >=20 >=20 > That's OK - provide a declaration of folio_maybe_mapped_shared() but no >=20 >=20definition. So the compiled-out code can be compiled and the linker >=20 >=20will confirm that it's never actually called. > Got it, that works as well ;) So if David is cool with it, I'll send out the new version like this: diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index d3909cb1e576..a762e4b4eab4 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -1230,10 +1230,15 @@ static inline int folio_has_private(const struct = folio *folio) return !!(folio->flags & PAGE_FLAGS_PRIVATE); } +#ifdef CONFIG_MM_ID static inline bool folio_test_large_maybe_mapped_shared(const struct fol= io *folio) { return test_bit(FOLIO_MM_IDS_SHARED_BITNUM, &folio->_mm_ids); } +#else +bool folio_test_large_maybe_mapped_shared(const struct folio *folio); +#endif + Thanks, Lance