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 7E602C00A5A for ; Wed, 18 Jan 2023 01:13:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F39746B0072; Tue, 17 Jan 2023 20:13:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EEA186B0075; Tue, 17 Jan 2023 20:13:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DB11F6B0078; Tue, 17 Jan 2023 20:13:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id C8FCB6B0072 for ; Tue, 17 Jan 2023 20:13:21 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 9FCC7C034A for ; Wed, 18 Jan 2023 01:13:21 +0000 (UTC) X-FDA: 80366146602.16.F58465A Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf13.hostedemail.com (Postfix) with ESMTP id B36192000B for ; Wed, 18 Jan 2023 01:13:19 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=udnOuwa2; spf=pass (imf13.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 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=1674004400; 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=vLOav8IWgAmaKQZbJD+cSG1xqosYpeI1k43+Q2XvQNA=; b=75aHwoFmRB35maYfdsnAmJyOSXUVwo2ZyVj1c2HK7MHf+3XC2IRmDW2h/vvAtZ6g35Drdr dqsjpRfU8xCx9sEHrXgV/AM1yEf8l8ODHnU3MsGMg+64zurIy6iehcBbV06GeTxVUaIuLN xwNJqRQOe4nQ8tuT8bwaJL2iM28X9OE= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=udnOuwa2; spf=pass (imf13.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674004400; a=rsa-sha256; cv=none; b=jvf8j9MRzvuAkoRwa8mk+qofap8nJDZFOfLXiaLXvSRwNrm96S30yv14y+aOi5aHXw/FeF yY3cF/oeSsnvnsbvUtHZaiYHObYJqw+1+VavUHOsM0PVr1eueqrgAh5uVjd+A63R7quWsm qacmTsniXaBkVPuY2SMxQNlB7B+t+RI= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sin.source.kernel.org (Postfix) with ESMTPS id 8AF02CE192F; Wed, 18 Jan 2023 01:13:15 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 80C26C433EF; Wed, 18 Jan 2023 01:13:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1674004393; bh=fk4xm4Y+i17NbExuukutS9RENCIwEMlB9MvB7cPidDg=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=udnOuwa2DgChr43Fas+3JsfXU8FXPXmZZItIeMR1KQsKzFO3WKQnmx+Tn9YvGSK4M TC5XO+gDXnyi7PMjefEbaicTZy3MkIJuOS83b1yuQ734sk/0rwKYw6/PA3CPsGyS6u NZNH9QA02Rav+slBL3DsMdXkNS40OfeRqe5FPZXQ= Date: Tue, 17 Jan 2023 17:13:12 -0800 From: Andrew Morton To: Pasha Tatashin Cc: rppt@kernel.org, mhocko@suse.com, vbabka@suse.cz, david@redhat.com, quic_charante@quicinc.com, lizhe.67@bytedance.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH] mm/page_ext: init page_ext early if there are no deferred struct pages Message-Id: <20230117171312.13bdb3b2673bdac3c93c2ab7@linux-foundation.org> In-Reply-To: <20230117204617.1553748-1-pasha.tatashin@soleen.com> References: <20230117204617.1553748-1-pasha.tatashin@soleen.com> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: B36192000B X-Stat-Signature: rhj18ruardmfs4ghzyb6ey6jpni8awom X-HE-Tag: 1674004399-371906 X-HE-Meta: U2FsdGVkX18RappvABI6SLdYJjqcwv2iWWVJ/vJtyYaumwg7Q9Ds97juSd+JsekN/wKo9KsWZn8m0w6HeAkgigf940y+HhDbgY2leYVurtQ5kjd7kaj4JVffbnRSX5LivYjP2A9TiP4JJYHzkcb8XNmBWPPjmHNNxFAx+QQ7HhhX9WCPoOGEgnPAspRGJITeApCbrUxly28AeJOPZDXws/whpsK5iNb4fH1TwcJuz1cnSxcGD5hz01CkaBvB7zm1mAr3ShEajykTZyXBHIVq8xcluJdcfZzZ1ox1fBIWGuWmaRikxGcVDbbjzR4UiZ5JgyX1S2nP+FshPd0M85u0au9RCfv1u3xzZHQTKWPzqtKjn436vYkip9M1UcQ1o3f++zm53KGT5opLUSzAmu7xp4R8hQRki2fm8DEP07m0KNyXEuIv4fTwUdHbYBl15ooOhCsQ/ncx7RIBpT/ul8lmC7QqUxsFAtr07O54nLYF1doJ1z7nWSrxh2yvX5qPFLbL8PwVQzW8b6z3NRvQUdGCW2PQewf6RSGGwtWbiEUlO0Z/OtBMCLVy3G1Ma3urIMMkoEjayN0a4DuD6rnp/HKoontB1/LoWlIBcXs/M9Ln8uDZ7lFIpbU5UWEusZYWIWzu19P0wTndIOmQt0VUjhUkv0nVZ5Hh9GiFFkGo4HSiZyWzfQNvCacDr+PHTfHkTk4giKJiSp3SYJhVzpuncSKiWZxh1DxkMUSJd86aeJqG8hUV1HKm+nH7OWz75DjXtZsDurz9rgQkxUt6RTh4b5ovgnlb3Sno3TK19P0tBI7HwhfEN2RoJUz6Vxwe4hoH6MLR0b6GgQIhBqI05aaGv4VnkbYwLpbT83C0bcq/K1kYRaFU1qzVv7favJsmIOfVCCJ7e8S23glwe9MP7z2Vl6cAcQtZzrXnVOGte+XGLG6KNGcpSxOs9YtJNxVWn2qWqobiNzUdplX/lHg8rveDEkA 64fEOKx7 hmfQmsYPDjlI/QWM90ufBxPwYit0g5jqD2ARU1nW0NE4v8aekjUHJiQxNuAn1t/uXzTtbRa7ki8rWxPEVJbE2N1nj5VHuYB03py6Tee24Ilrd/Og4Goz6yazs6Q== 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 Tue, 17 Jan 2023 20:46:17 +0000 Pasha Tatashin wrote: > page_ext must be initialized after all struct pages are initialized. > Therefore, page_ext is initialized after page_alloc_init_late(), and > can optionally be initialized earlier via early_page_ext kernel > parameter which as a side effect also disables deferred struct pages. > > Allow to automatically init page_ext early when there are no deferred > struct pages in order to be able to use page_ext during kernel boot > and track for example page allocations early. Compilation blows up with CONFIG_PAGE_EXTENSION=n. I did --- a/include/linux/page_ext.h~mm-page_ext-init-page_ext-early-if-there-are-no-deferred-struct-pages-fix +++ a/include/linux/page_ext.h @@ -92,6 +92,7 @@ static inline struct page_ext *page_ext_ #else /* !CONFIG_PAGE_EXTENSION */ struct page_ext; +#define deferred_struct_pages (0) static inline bool early_page_ext_enabled(void) { but it then blew up differently.