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 8DE1DC48BF6 for ; Thu, 29 Feb 2024 05:06:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 070106B0099; Thu, 29 Feb 2024 00:06:08 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 01D5A6B009A; Thu, 29 Feb 2024 00:06:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E4DED6B009B; Thu, 29 Feb 2024 00:06:07 -0500 (EST) 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 D268D6B0099 for ; Thu, 29 Feb 2024 00:06:07 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 84438A1313 for ; Thu, 29 Feb 2024 05:06:07 +0000 (UTC) X-FDA: 81843654774.03.253F9A7 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf25.hostedemail.com (Postfix) with ESMTP id A9CA3A0005 for ; Thu, 29 Feb 2024 05:06:05 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Bjdiqsit; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf25.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709183166; 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:in-reply-to:references:references:dkim-signature; bh=XPfnRm9A0cNziLdBKysN4jlsPZuU5Kv07+ZtHDIvVw8=; b=HMsd6aoRDDhmjIvWhSRicJqkG+4usGPpFSvYcXyxUXa1Se7s5ihe4YT0WhgNlTDopsKGon Btqmzk+0nm5EE1fylr4dPc0ZHGcuf+ab0RC6ZZ1HErFm3lhXoqZq2tTBWyccJrSP3neIz/ 36425Z54P8cc5OY8m2PEES7LLJ71TcE= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Bjdiqsit; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf25.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709183166; a=rsa-sha256; cv=none; b=Ji386XVrXqSm/CqrxHxoVf5T19xkEKsbJtCz6/tUWzqUn42tmMeXU7S3lchCIVNKCTDh6S WA4T8XP51602W9eQuhe5Oz/Zv+5xLOXZ5lDI2gp9+0lhGDpvcvNHXWfZDZyDhX2tfryE+L Ho36vl1e6Ag9G2i0CATYZQ9KZA4PiWM= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id D6FF5CE1E72; Thu, 29 Feb 2024 05:06:00 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B8CACC433F1; Thu, 29 Feb 2024 05:05:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709183160; bh=RbEcNl5Mdc5MreInhj5dFJH0n4yTOlZEdKvnD2+e7sc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BjdiqsitosdveN9rhpWXNYKdZTkKUaU8bkE888M9mlSxgYdf7iMxutfykW3jwgIbg /LmmSdqYhGP2UY7LLU0tK9aFs2Qbm89pNv/7FGDavhpe7lNx4wCo2x+1dP92o1p6Ml 2pYe6vgpgI/29ulDFVdWRWBXSdHUhiIJudNJ+PnUYd3+/3EJoRNLgsHDGphK2EWGRk a4VpQpeWmuf1+03NtnRsLougWZJ9DqyAn5IYwtnJvPGKgJSGWAtat7x3pssMF0kB+w H4ZvLXeJT8qA6U4iEY74UKfcc+v+sSmbRIRNck9jCeTx9UKZbC00CYSkfUeKz+n54+ fiO1Lxg3G8pig== From: SeongJae Park To: Matthew Wilcox Cc: SeongJae Park , Andrew Morton , linux-mm@kvack.org Subject: Re: [PATCH 4/8] mm: Add __dump_folio() Date: Wed, 28 Feb 2024 21:05:58 -0800 Message-Id: <20240229050558.73208-1-sj@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: A9CA3A0005 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: f6ke349d4xy99dinatf161r8fqgamseb X-HE-Tag: 1709183165-459966 X-HE-Meta: U2FsdGVkX1+j3C+eBa8uyikxPgrFyFWb6j/sJCiJXekqjtiV0x8nHQHFV1RWculj7mRJ3mqFt450mg+5j48JyQH0L290OGHOnWD1K8uy3POF9YGRE3+35cVfl6gVrg3tQN7438jaVnY69a0X2EAShv6ZIK6FEoleV6KjlDnyX9R3GCSOyrysLAQnuTymp1evaVMSQI4Y/Z4o1gEcJh712AfW9lC4bn3A9RS9U5kLnmgJufnusegsWmPWvkp2qGTpVYXeetmxAvXeSY7CbOE50VChCRARc/c3Wms/OGMlqVfU5qcnbM/YkvAQjlEWmGN12V8zyhSt/qpy3imx6L8v8/qvLFv5LqWZt3KI4efeyR57pq3kWNnesSTJMuSwKBfsUmvu+ypm7e26cjVvfCWBZ1wS0qatJA7H47uDGYjqwxkBecmpARTapSk3IUngslWEswCgV8LAj5Ffr2yFYxFZrZjPuyzhPisiUK56uP9ZNDPw4lS7VoT3HI1tBTDkQzQdri3QrMIk2PJ/Roye80266ozhQ1sTiiLBI8zHmM2Ke+sye7XeGLQwF2zgnPwLZG/HD1330k0iA3tBELEhXpmLa5yVZTi9OTzgnWIdhyO/36udurOqLwVgoz7X8fbZiDzzQgtYqJwQQYXW7TBLL4S3MTVZ/tUmlKJwgl1HjdhgkmWINPE2Nd21Oyk4621HsCnUxpTrmoKM6AK6qoN2kL1O4XSeD2GIcCVsRt83Y5VQIs/24B/Os+X7HWCGcltgQ7oQ2pP3EKz+Gtz1BCpb9NCpaXLBQXCdmetzAOuLNvyEz7ZajfRoOoJbgRaQWVQZfZSS0MFcrFLc5BZzHXkEuckHNIPDiNQo6x0dWrXf+bCjUm1jQSYFW1lLUHQ3cIYAo8iq3fBGdm06jHNaD858GDidD03fVip9RMKe0bWixxXFOyuRAI6v60O3R4m8V8tuLID0S2VmbksZGusTu61Yn4c zIPvZdGr 9jOaZ 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 Thu, 29 Feb 2024 04:37:31 +0000 Matthew Wilcox wrote: > On Wed, Feb 28, 2024 at 01:34:58PM -0800, SeongJae Park wrote: > > ...linux/mm/debug.c: In function '__dump_page': > > ...linux/include/asm-generic/pgtable-nop4d.h:11:33: error: 'PGDIR_SHIFT' undeclared (first use in this function); did you mean 'PUD_SHIFT'? > > 11 | #define P4D_SHIFT PGDIR_SHIFT > > | ^~~~~~~~~~~ > > ...linux/include/asm-generic/pgtable-nopud.h:18:25: note: in expansion of macro 'P4D_SHIFT' > > 18 | #define PUD_SHIFT P4D_SHIFT > > | ^~~~~~~~~ > > ...linux/include/linux/pgtable.h:9:26: note: in expansion of macro 'PUD_SHIFT' > > 9 | #define PUD_ORDER (PUD_SHIFT - PAGE_SHIFT) > > | ^~~~~~~~~ > > ...linux/mm/debug.c:128:35: note: in expansion of macro 'PUD_ORDER' > > 128 | if (idx < (1UL << PUD_ORDER)) { > > Thanks. Can you try this? > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 49d87a4d29b9..e25e86b755be 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -2078,6 +2078,13 @@ static inline long folio_nr_pages(struct folio *folio) > #endif > } > > +/* Only hugetlbfs can allocate folios larger than MAX_ORDER */ > +#ifdef CONFIG_ARCH_HAS_GIGANTIC_PAGE > +#define MAX_FOLIO_NR_PAGES (1UL << PUD_ORDER) > +#else > +#define MAX_FOLIO_NR_PAGES MAX_ORDER_NR_PAGES > +#endif > + > /* > * compound_nr() returns the number of pages in this potentially compound > * page. compound_nr() can be called on a tail page, and is defined to > diff --git a/mm/debug.c b/mm/debug.c > index 6149944016a7..32ac7d79fd04 100644 > --- a/mm/debug.c > +++ b/mm/debug.c > @@ -125,7 +125,7 @@ static void __dump_page(const struct page *page) > foliop = page_folio(&precise); > idx = folio_page_idx(foliop, page); > if (idx != 0) { > - if (idx < (1UL << PUD_ORDER)) { > + if (idx < MAX_FOLIO_NR_PAGES) { > memcpy(&folio, foliop, 2 * sizeof(struct page)); > nr_pages = folio_nr_pages(&folio); > } Thank you for this fast and kind reply. I confirmed this fixes my issue :) Tested-by: SeongJae Park Thanks, SJ