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 78942ECAAD2 for ; Mon, 29 Aug 2022 08:18:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 16D66940009; Mon, 29 Aug 2022 04:18:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 11D5E940007; Mon, 29 Aug 2022 04:18:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F2799940009; Mon, 29 Aug 2022 04:18:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id E4515940007 for ; Mon, 29 Aug 2022 04:18:53 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id B2AB11A01EF for ; Mon, 29 Aug 2022 08:18:53 +0000 (UTC) X-FDA: 79851929346.29.D189566 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by imf11.hostedemail.com (Postfix) with ESMTP id ACB4640007 for ; Mon, 29 Aug 2022 08:18:51 +0000 (UTC) Received: by mail-pj1-f49.google.com with SMTP id x1-20020a17090ab00100b001fda21bbc90so3472980pjq.3 for ; Mon, 29 Aug 2022 01:18:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=2QZKujPjtkBWYkXnUOgTQaHomGYPSRRsNUAaVRPYFmo=; b=XjlvkNLxJIBSm9qs1DUSUgMuMgLILSs0DYrRUK/HoUSesO2OeX0vjKMsXT7Ep7aY8P nNt3CWi8bV1m9XVoRZJVEEU2ZEydvzZ4V3FtktM0AkRXo492mcsf+sAszwHd7sXwz6ks jB36bF29x75eB3gA5nxbdfHRCj+CSwBBd5H+bxH0JSAvW853GJn7ktenqrr3uNFD4+hp 5NPVt3OQlfY3+/8bq+H41sglPpQDcsHW97cnzNHnRbDwQtvozasufBLP040is7XxjQUY VPnGDti7mEnuDzQfDoE2tdZSSrj+f/LpTqZpdHUTOjYpapeYsFCvivbAWzbJU0GgJs/Y o77A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=2QZKujPjtkBWYkXnUOgTQaHomGYPSRRsNUAaVRPYFmo=; b=s8404K2tzvJbDai+CCQTvIG/TOXROIWShLvGIhV0ad7OiVolY4vNv0XCyost5ukGhe Ifgt6yaLRatiCJ/hAjp+mCothOzNEgNnFk2/LjHvT/DRK9VOc/yikqTA5SrdOnPK7HeC xgRoKkPtWzy5Xncz0HlTrQtEGYstQKgzJgdP86o1jKcIhRmnWYIn2pM8UPHE74eJw6YT r2VwLHI/RM+TluVfhFozbJ7DcJhBsbU886/XWVbsmOTPafFacPEW/JV8vNys348hhVhq B/0PbsyaUof3v6aQUC4K1+zgYQnsmP0DVTyxa6J6U7aqM04Ta39phCFuDNk5HpWtnR4s SvdA== X-Gm-Message-State: ACgBeo244/EP1uS216ithx9f5mUDY3bSBBNHVKu0P3LPmEd2O/P5XRKp HeCcreuvevIM6IpNPrbi9invPw== X-Google-Smtp-Source: AA6agR7xWObiHeZvPXlzNdhLaj3EUEIrEQSpFNVFbH0mh4Xc+UmHlLobw2C9t4ZEXaTuKG0H+6vkrg== X-Received: by 2002:a17:90b:c18:b0:1fd:b908:7a43 with SMTP id bp24-20020a17090b0c1800b001fdb9087a43mr5866952pjb.218.1661761130345; Mon, 29 Aug 2022 01:18:50 -0700 (PDT) Received: from MacBook-Pro.local.bytedance.net ([139.177.225.241]) by smtp.gmail.com with ESMTPSA id d6-20020a170902654600b0016cb873fe6fsm4829587pln.183.2022.08.29.01.18.45 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Aug 2022 01:18:49 -0700 (PDT) From: lizhe.67@bytedance.com To: vbabka@suse.cz Cc: Jason@zx2c4.com, akpm@linux-foundation.org, corbet@lwn.net, keescook@chromium.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lizefan.x@bytedance.com, lizhe.67@bytedance.com, mark-pk.tsai@mediatek.com, mhiramat@kernel.org, mhocko@suse.com, rostedt@goodmis.org Subject: Re: [PATCH v4] page_ext: introduce boot parameter 'early_page_ext' Date: Mon, 29 Aug 2022 16:18:37 +0800 Message-Id: <20220829081837.38225-1-lizhe.67@bytedance.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <68133fc4-7034-c07b-f14b-5b4e73e04d2c@suse.cz> References: <68133fc4-7034-c07b-f14b-5b4e73e04d2c@suse.cz> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1661761133; a=rsa-sha256; cv=none; b=eEzzyB1n82vPQx/McSEGXUKXZFdmJDakGEU1zqiEbpfT1V4z01OmBNSOvEf4ewM4w6O4tr ocgX3yKLgmiR7GAkftLXXnV6qlJq5RKsdZD1l912rQ+UXiMEag/QzfDPr4ps7L59qokpcw PRONvNk6DK35Q/gdOFxNUhSgIhLmy8c= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=bytedance-com.20210112.gappssmtp.com header.s=20210112 header.b=XjlvkNLx; spf=pass (imf11.hostedemail.com: domain of lizhe.67@bytedance.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=lizhe.67@bytedance.com; dmarc=pass (policy=none) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1661761133; 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=2QZKujPjtkBWYkXnUOgTQaHomGYPSRRsNUAaVRPYFmo=; b=jPmrzfFgWCBAOJlXixVDCMMkD7LumhDk28i0AbnPOLnraUYqfHvuqEV1gRC1labtlyGQ6O PfrgqEd4h+txsDuCAodMpgRafqfjpMYu5LfHwn4wxGsxaWR/5Q9NKP4OWFkPpw4QVewFL9 q2MPAj0t27IBwDriuTtEiTnL4xB48cU= X-Stat-Signature: 8e5j8fd4zpx3f48ibafh645ynuamwwtj X-Rspamd-Queue-Id: ACB4640007 X-Rspam-User: X-Rspamd-Server: rspam01 Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=bytedance-com.20210112.gappssmtp.com header.s=20210112 header.b=XjlvkNLx; spf=pass (imf11.hostedemail.com: domain of lizhe.67@bytedance.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=lizhe.67@bytedance.com; dmarc=pass (policy=none) header.from=bytedance.com X-HE-Tag: 1661761131-117447 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: On 26 Aug 2022 12:49:25 +0200, vbabka@suse.cz wrote: >On 8/26/22 06:23, Andrew Morton wrote: >> On Thu, 25 Aug 2022 18:27:14 +0800 lizhe.67@bytedance.com wrote: >> >>> From: Li Zhe >>> >>> In 'commit 2f1ee0913ce5 ("Revert "mm: use early_pfn_to_nid in page_ext_init"")', >>> we call page_ext_init() after page_alloc_init_late() to avoid some panic >>> problem. It seems that we cannot track early page allocations in current >>> kernel even if page structure has been initialized early. >>> >>> This patch introduce a new boot parameter 'early_page_ext' to resolve this >>> problem. If we pass it to kernel, function page_ext_init() will be moved >>> up and feature 'deferred initialization of struct pages' will be disabled >>> to initialize the page allocator early and prevent from the panic problem >>> above. It can help us to catch early page allocations. This is useful >>> especially when we find that the free memory value is not the same right >>> after different kernel booting. >>> >> >> WARNING: modpost: vmlinux.o: section mismatch in reference: early_page_ext_enabled (section: .text.unlikely) -> early_page_ext (section: .meminit.data) >> WARNING: modpost: vmlinux.o: section mismatch in reference: early_page_ext_enabled (section: .text.unlikely) -> early_page_ext (section: .meminit.data) > >Hm it's a very small static inline, shouldn't exist separately anywhere. >Maybe it's due to that new debug info level thing? > >Would this work instead? > >----8<---- >diff --git a/include/linux/page_ext.h b/include/linux/page_ext.h >index 884282a7f03a..4bf4e58cf2d4 100644 >--- a/include/linux/page_ext.h >+++ b/include/linux/page_ext.h >@@ -40,7 +40,7 @@ extern bool early_page_ext; > extern unsigned long page_ext_size; > extern void pgdat_page_ext_init(struct pglist_data *pgdat); > >-static inline bool early_page_ext_enabled(void) >+static inline bool __meminit early_page_ext_enabled(void) > { > return early_page_ext; > } I think this is also a method to solve this problem. Due to '__meminit', early_page_ext_enabled() can not be an inline function now. So if we finally choose this method, I suggest we put function early_page_ext_enabled() into page_ext.c if CONFIG_PAGE_EXTENSION=y, and we can make 'early_page_ext' a static variable.