From patchwork Wed Nov 7 20:54:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Logan Gunthorpe X-Patchwork-Id: 10673083 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E0BA413A4 for ; Wed, 7 Nov 2018 20:54:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D331D2C099 for ; Wed, 7 Nov 2018 20:54:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C6CC92D1D2; Wed, 7 Nov 2018 20:54:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0737E2D1CE for ; Wed, 7 Nov 2018 20:54:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BD3BA6B0568; Wed, 7 Nov 2018 15:54:41 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id B590E6B056B; Wed, 7 Nov 2018 15:54:41 -0500 (EST) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9AD946B056C; Wed, 7 Nov 2018 15:54:41 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-io1-f72.google.com (mail-io1-f72.google.com [209.85.166.72]) by kanga.kvack.org (Postfix) with ESMTP id 65F826B0568 for ; Wed, 7 Nov 2018 15:54:41 -0500 (EST) Received: by mail-io1-f72.google.com with SMTP id x12-v6so20393792iob.23 for ; Wed, 07 Nov 2018 12:54:41 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :date:message-id:in-reply-to:references:mime-version :content-transfer-encoding:subject; bh=YKtq6FkGeZyq1Df/yIspA/pbYZb/pzRmu8p9hp1ya2Y=; b=cGmk9LeUPOBF+UMHa9Fi7E8Vs0HLemt5FYD7du8rzunpD0VEq6SiJXINfer+30+Fo9 xKD1ykQmTFi6s4OCRG6h7ZjZy2KILrh7n8fj/7fDx6Gx6p3O/TUg2Hi0GB9/8I8UYqcm ZNoWZE0clb3w8r/aZtJUFmGHfUcRbuvO1WUWsN+cxy36KucM3Zakor4e4dVYHqpAo5U+ 2sxc/vL4N/ZhlZFLKA1pBxZlfrbywwUk+4tEWpZBVo/xIj7azS/qJYFuKCPBd9fI11Io Z/XZclZQ9qvaa/JU9ru/aXG7OtjRFgqdFQBWD05k7aPPhm3XYHiiCEPjseYpYDuKwTPu lv6Q== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of gunthorp@deltatee.com designates 207.54.116.67 as permitted sender) smtp.mailfrom=gunthorp@deltatee.com X-Gm-Message-State: AGRZ1gLTHZELJlUICajaYhjeiCNGC/Ekx/OhGFxQnE/XifrG7i40S3K8 QgQaUU7ZSuxmDHXlPoHqWOg7wKP2qymeCU1XJ/K4UZwEOBFHpfYgW9Fl98BExgUT4N249h3ChyV XiUJKG6fJvnY+Go4EOKaqPXsYBVQY8CJiGkSw/JnFpAn8PwP3l99JH7M9b7A/LPKHmQ== X-Received: by 2002:a24:b644:: with SMTP id d4-v6mr1782302itj.158.1541624081167; Wed, 07 Nov 2018 12:54:41 -0800 (PST) X-Google-Smtp-Source: AJdET5edXBgha/xAdFgbIY38RXU0F4Pv1BswEaVFQ5KDcshP0W58a+hx4BapoV10PAghi/33gGm7 X-Received: by 2002:a24:b644:: with SMTP id d4-v6mr1782265itj.158.1541624080367; Wed, 07 Nov 2018 12:54:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541624080; cv=none; d=google.com; s=arc-20160816; b=l1solTDs3mTOXTJR7sG0+JqBRXi/apkDqwc0wCO6XrDHOPaJGrMVGgSuzQH2Et1hdM Hf9Z1iic/Y2EW2EjRWVDJjkmHHcRV0DETGSQQ7S4+dy/tXSvAboHLpBlrYne8cKhN0kd m0ruqBob3w+REzNAGz91SNEk3qfJ2p+gqqzOtHjRiQjYdYY70Zq+fOvnzKHIitha7I6l h19S9NVDQbWWHs6DGNFjlOMLhcddWlXA/F7xRbo0k3qGP+A+DWsXnLb3hCR+t2ycpCUC u8Z0R6d9tWmE/mw/qY029YXZhb3Im23ORMkcPI1E/7CFa2Zw6l0wTnsIupbQ0MNx+S7q 3Y9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=subject:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:cc:to:from; bh=YKtq6FkGeZyq1Df/yIspA/pbYZb/pzRmu8p9hp1ya2Y=; b=BEtxvad5AMuFsYtHXJpz82u4a3gniBgN2kv92wdKyMMEb1Fdj6j+uJUV5wvmZDBKOS Jlqc3UOEU6skY/oUhmolQfye8gI40ZgzYVLO3+eFJwIDlU3gBr6LVpDND3Re7+A8spDK fU8HUnTUjE3RyVQha69IWoT7MiTvH+RNL0Zx1bTY2TlWI/M10DX+3zsx3+EpB1kpf6eJ HrCuoPLZH87oMqQ8nkXmvPczMI2pk2iylMMuGefGyX3jfLcnxJn6pYDfrgFYf/Xg3lFK crEq5jnhgulINGgD7aZcbMoL39m5S3pFKxolW4rfP+5bZBCoBDL5mNtFhqfe8gAWm/Rj sSXg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of gunthorp@deltatee.com designates 207.54.116.67 as permitted sender) smtp.mailfrom=gunthorp@deltatee.com Received: from ale.deltatee.com (ale.deltatee.com. [207.54.116.67]) by mx.google.com with ESMTPS id a206-v6si1514490itd.51.2018.11.07.12.54.40 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 Nov 2018 12:54:40 -0800 (PST) Received-SPF: pass (google.com: domain of gunthorp@deltatee.com designates 207.54.116.67 as permitted sender) client-ip=207.54.116.67; Authentication-Results: mx.google.com; spf=pass (google.com: domain of gunthorp@deltatee.com designates 207.54.116.67 as permitted sender) smtp.mailfrom=gunthorp@deltatee.com Received: from cgy1-donard.priv.deltatee.com ([172.16.1.31]) by ale.deltatee.com with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1gKUqS-0005zH-LS; Wed, 07 Nov 2018 13:54:39 -0700 Received: from gunthorp by cgy1-donard.priv.deltatee.com with local (Exim 4.89) (envelope-from ) id 1gKUqQ-00011H-FU; Wed, 07 Nov 2018 13:54:34 -0700 From: Logan Gunthorpe To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-riscv@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-sh@vger.kernel.org, Andrew Morton Cc: Stephen Bates , Palmer Dabbelt , Albert Ou , Christoph Hellwig , Arnd Bergmann , Logan Gunthorpe , Catalin Marinas Date: Wed, 7 Nov 2018 13:54:32 -0700 Message-Id: <20181107205433.3875-2-logang@deltatee.com> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20181107205433.3875-1-logang@deltatee.com> References: <20181107205433.3875-1-logang@deltatee.com> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 172.16.1.31 X-SA-Exim-Rcpt-To: linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-sh@vger.kernel.org, akpm@linux-foundation.org, sbates@raithlin.com, palmer@sifive.com, aou@eecs.berkeley.edu, hch@lst.de, arnd@arndb.de, logang@deltatee.com, catalin.marinas@arm.com X-SA-Exim-Mail-From: gunthorp@deltatee.com Subject: [PATCH v2 1/2] mm: Introduce common STRUCT_PAGE_MAX_SHIFT define X-SA-Exim-Version: 4.2.1 (built Tue, 02 Aug 2016 21:08:31 +0000) X-SA-Exim-Scanned: Yes (on ale.deltatee.com) 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: X-Virus-Scanned: ClamAV using ClamSMTP This define is used by arm64 to calculate the size of the vmemmap region. It is defined as the log2 of the upper bound on the size of a struct page. We move it into mm_types.h so it can be defined properly instead of set and checked with a build bug. This also allows us to use the same define for riscv. Signed-off-by: Logan Gunthorpe Acked-by: Will Deacon Acked-by: Andrew Morton Cc: Catalin Marinas Cc: Arnd Bergmann Cc: Christoph Hellwig Acked-by: Catalin Marinas Acked-by: Ard Biesheuvel --- arch/arm64/include/asm/memory.h | 9 --------- arch/arm64/mm/init.c | 8 -------- include/asm-generic/fixmap.h | 1 + include/linux/mm_types.h | 5 +++++ 4 files changed, 6 insertions(+), 17 deletions(-) diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h index b96442960aea..f0a5c9531e8b 100644 --- a/arch/arm64/include/asm/memory.h +++ b/arch/arm64/include/asm/memory.h @@ -34,15 +34,6 @@ */ #define PCI_IO_SIZE SZ_16M -/* - * Log2 of the upper bound of the size of a struct page. Used for sizing - * the vmemmap region only, does not affect actual memory footprint. - * We don't use sizeof(struct page) directly since taking its size here - * requires its definition to be available at this point in the inclusion - * chain, and it may not be a power of 2 in the first place. - */ -#define STRUCT_PAGE_MAX_SHIFT 6 - /* * VMEMMAP_SIZE - allows the whole linear region to be covered by * a struct page array diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index 9d9582cac6c4..1a3e411a1d08 100644 --- a/arch/arm64/mm/init.c +++ b/arch/arm64/mm/init.c @@ -612,14 +612,6 @@ void __init mem_init(void) BUILD_BUG_ON(TASK_SIZE_32 > TASK_SIZE_64); #endif -#ifdef CONFIG_SPARSEMEM_VMEMMAP - /* - * Make sure we chose the upper bound of sizeof(struct page) - * correctly when sizing the VMEMMAP array. - */ - BUILD_BUG_ON(sizeof(struct page) > (1 << STRUCT_PAGE_MAX_SHIFT)); -#endif - if (PAGE_SIZE >= 16384 && get_num_physpages() <= 128) { extern int sysctl_overcommit_memory; /* diff --git a/include/asm-generic/fixmap.h b/include/asm-generic/fixmap.h index 827e4d3bbc7a..8cc7b09c1bc7 100644 --- a/include/asm-generic/fixmap.h +++ b/include/asm-generic/fixmap.h @@ -16,6 +16,7 @@ #define __ASM_GENERIC_FIXMAP_H #include +#include #define __fix_to_virt(x) (FIXADDR_TOP - ((x) << PAGE_SHIFT)) #define __virt_to_fix(x) ((FIXADDR_TOP - ((x)&PAGE_MASK)) >> PAGE_SHIFT) diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 5ed8f6292a53..2c471a2c43fa 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -206,6 +206,11 @@ struct page { #endif } _struct_page_alignment; +/* + * Used for sizing the vmemmap region on some architectures + */ +#define STRUCT_PAGE_MAX_SHIFT (order_base_2(sizeof(struct page))) + #define PAGE_FRAG_CACHE_MAX_SIZE __ALIGN_MASK(32768, ~PAGE_MASK) #define PAGE_FRAG_CACHE_MAX_ORDER get_order(PAGE_FRAG_CACHE_MAX_SIZE) From patchwork Wed Nov 7 20:54:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Logan Gunthorpe X-Patchwork-Id: 10673081 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0303F13A4 for ; Wed, 7 Nov 2018 20:54:44 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EB2B2205FD for ; Wed, 7 Nov 2018 20:54:43 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DF4FC2C675; Wed, 7 Nov 2018 20:54:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=unavailable version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 803BC2D1CE for ; Wed, 7 Nov 2018 20:54:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 27F876B0567; Wed, 7 Nov 2018 15:54:40 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 216306B0568; Wed, 7 Nov 2018 15:54:40 -0500 (EST) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0D0226B056A; Wed, 7 Nov 2018 15:54:40 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-it1-f200.google.com (mail-it1-f200.google.com [209.85.166.200]) by kanga.kvack.org (Postfix) with ESMTP id D67C56B0568 for ; Wed, 7 Nov 2018 15:54:39 -0500 (EST) Received: by mail-it1-f200.google.com with SMTP id 66-v6so15344541itz.9 for ; Wed, 07 Nov 2018 12:54:39 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :date:message-id:in-reply-to:references:mime-version :content-transfer-encoding:subject; bh=EkFCSae6iKJXGDcMb8cjAsUlI5kGVVrCG3uHoZ2SD4E=; b=RTx/u9wa8UekZgdwggfe8OExLrD46ZS3r3R58FRWlnVdgUSsJ2ffZm0uKp2ehn61py i57BxGhKV4Vmykq04CAVahYsBsl2DU0h6OrGYFDN4zIRLuEqsXUty6vKwLBRzytJamuc atIhdHctFDsIPn/GIQPShFaQjOFKqAERA2HS00Z8xEIMXMRAPPYEhk68tUGm1vwmw25f sLrtDxkoyWchRO9NDApAzbTCiavv0TEFYGtC2LBktH02J0POljyFKGU6ksg3i3XDCYbJ 2iCjgJg0XcqdS1psep8ZpHKu910KogVRmDkX80qskfTKpCv4s7hRtBwCxup+ABd9K4Tz 9Nig== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of gunthorp@deltatee.com designates 207.54.116.67 as permitted sender) smtp.mailfrom=gunthorp@deltatee.com X-Gm-Message-State: AGRZ1gLJaxjwQK+1MuUwwUURWGvr9um3TcsdqAD8K+H8s126sg4mnXBJ I0w/r1lQDHnrJdL0Z6U7ERjkk54rc+C5emfaH5X+o5rda000M82IJTbkLuc5ySJLtSP3sWUenSO Wo1kco54Kb8Hr2E/zA1BX84mj6iU9R2yBGC00Hir+RSsPBknPj713WIFzMOC7qR3XFw== X-Received: by 2002:a6b:5406:: with SMTP id i6-v6mr1445087iob.261.1541624079610; Wed, 07 Nov 2018 12:54:39 -0800 (PST) X-Google-Smtp-Source: AJdET5ekn6ZXA/E1WF6iXQ72G0PunXrh51SahMvRRdctTbK2WDV2cTv6jCx83Z5JznvR2Ml5L+5I X-Received: by 2002:a6b:5406:: with SMTP id i6-v6mr1445064iob.261.1541624078878; Wed, 07 Nov 2018 12:54:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541624078; cv=none; d=google.com; s=arc-20160816; b=N2JrYZKgDt6ypS5rHVOMXHMV/tlE7sjfpsHc3qQpnjyFwh5tp6z5bPlJhxnNpA5jmx pb+PnyS+H7n6JjQgz5PhLeunMt+27WlJwnTd6uHF3ieGwr6HZ9iYQGTKcdkcriM9JW9y o4iIbChBQElzQbDBZIFBxou4RN5Ov/tfjPsK2twjIshXzluu98hsji07Lgrb0jXVk/Xa A8Fd6aT6rPyo51Eb9nOZOs0r0p+xTbHBdtuHeOpItbl3SVz31yaWphTmA4xq4zzBcSae wU+zGM09Ad199W0SX8W9z2Ic/scS9s2no/Dn05YRKjns+tW3p2klEYxGAOlJZRi1HS2k 3Amw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=subject:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:cc:to:from; bh=EkFCSae6iKJXGDcMb8cjAsUlI5kGVVrCG3uHoZ2SD4E=; b=idQh1SwpW4dtMDY+zQlTi/AIjWJjvVvSnlYVjOpQwwl4rY1kKHE0vW0mfLwvzsnV2j WlBZu0TkBAc6qVuLKOWx0EQiWEUzJp/nbbFuwiAAmM574FU0OaP+kUb6sZWuP0kl9Ibm FJRLvJCD2EVw0MQrnO2zIDk/ibT7ZUrV7bIT3cYTmWtaBQdH54bRT+Db8M0z4lGn8dG/ 7M7L+afDB5AwJaIMJ8OeISA0Amm/e+M4iFj9niMeP2h04o/D4GZdp2DCTe765cUCSzZt x43EbxFQOrM7Em4FYF2dDvQuOPt0OLdwpha+3KJ0MW3XWCDaEiY/d45/VnacxH3g7/o2 EtBw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of gunthorp@deltatee.com designates 207.54.116.67 as permitted sender) smtp.mailfrom=gunthorp@deltatee.com Received: from ale.deltatee.com (ale.deltatee.com. [207.54.116.67]) by mx.google.com with ESMTPS id f55-v6si1371529jal.44.2018.11.07.12.54.38 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 Nov 2018 12:54:38 -0800 (PST) Received-SPF: pass (google.com: domain of gunthorp@deltatee.com designates 207.54.116.67 as permitted sender) client-ip=207.54.116.67; Authentication-Results: mx.google.com; spf=pass (google.com: domain of gunthorp@deltatee.com designates 207.54.116.67 as permitted sender) smtp.mailfrom=gunthorp@deltatee.com Received: from cgy1-donard.priv.deltatee.com ([172.16.1.31]) by ale.deltatee.com with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1gKUqS-0005zI-Dz; Wed, 07 Nov 2018 13:54:37 -0700 Received: from gunthorp by cgy1-donard.priv.deltatee.com with local (Exim 4.89) (envelope-from ) id 1gKUqQ-00011K-Ij; Wed, 07 Nov 2018 13:54:34 -0700 From: Logan Gunthorpe To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-riscv@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-sh@vger.kernel.org, Andrew Morton Cc: Stephen Bates , Palmer Dabbelt , Albert Ou , Christoph Hellwig , Arnd Bergmann , Logan Gunthorpe , Michal Hocko , Vlastimil Babka , Oscar Salvador Date: Wed, 7 Nov 2018 13:54:33 -0700 Message-Id: <20181107205433.3875-3-logang@deltatee.com> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20181107205433.3875-1-logang@deltatee.com> References: <20181107205433.3875-1-logang@deltatee.com> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 172.16.1.31 X-SA-Exim-Rcpt-To: linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-sh@vger.kernel.org, akpm@linux-foundation.org, sbates@raithlin.com, palmer@sifive.com, aou@eecs.berkeley.edu, hch@lst.de, arnd@arndb.de, logang@deltatee.com, mhocko@suse.com, vbabka@suse.cz, osalvador@suse.de X-SA-Exim-Mail-From: gunthorp@deltatee.com Subject: [PATCH v2 2/2] mm/sparse: add common helper to mark all memblocks present X-SA-Exim-Version: 4.2.1 (built Tue, 02 Aug 2016 21:08:31 +0000) X-SA-Exim-Scanned: Yes (on ale.deltatee.com) 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: X-Virus-Scanned: ClamAV using ClamSMTP Presently the arches arm64, arm and sh have a function which loops through each memblock and calls memory present. riscv will require a similar function. Introduce a common memblocks_present() function that can be used by all the arches. Subsequent patches will cleanup the arches that make use of this. Signed-off-by: Logan Gunthorpe Acked-by: Andrew Morton Cc: Michal Hocko Cc: Vlastimil Babka Cc: Oscar Salvador --- include/linux/mmzone.h | 6 ++++++ mm/sparse.c | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 847705a6d0ec..db023a92f3a4 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -783,6 +783,12 @@ void memory_present(int nid, unsigned long start, unsigned long end); static inline void memory_present(int nid, unsigned long start, unsigned long end) {} #endif +#if defined(CONFIG_SPARSEMEM) +void memblocks_present(void); +#else +static inline void memblocks_present(void) {} +#endif + #ifdef CONFIG_HAVE_MEMORYLESS_NODES int local_memory_node(int node_id); #else diff --git a/mm/sparse.c b/mm/sparse.c index 33307fc05c4d..3abc8cc50201 100644 --- a/mm/sparse.c +++ b/mm/sparse.c @@ -239,6 +239,22 @@ void __init memory_present(int nid, unsigned long start, unsigned long end) } } +/* + * Mark all memblocks as present using memory_present(). This is a + * convienence function that is useful for a number of arches + * to mark all of the systems memory as present during initialization. + */ +void __init memblocks_present(void) +{ + struct memblock_region *reg; + + for_each_memblock(memory, reg) { + memory_present(memblock_get_region_node(reg), + memblock_region_memory_base_pfn(reg), + memblock_region_memory_end_pfn(reg)); + } +} + /* * Subtle, we encode the real pfn into the mem_map such that * the identity pfn - section_mem_map will return the actual