From patchwork Thu Oct 20 21:53:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Doug Berger X-Patchwork-Id: 13014049 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 C38DCC4332F for ; Thu, 20 Oct 2022 21:54:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6EAE98E0006; Thu, 20 Oct 2022 17:54:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 69B9F8E0001; Thu, 20 Oct 2022 17:54:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 53C088E0006; Thu, 20 Oct 2022 17:54:28 -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 46D718E0001 for ; Thu, 20 Oct 2022 17:54:28 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 1A3451413E0 for ; Thu, 20 Oct 2022 21:54:28 +0000 (UTC) X-FDA: 80042682216.13.3C89ED0 Received: from mail-qv1-f42.google.com (mail-qv1-f42.google.com [209.85.219.42]) by imf23.hostedemail.com (Postfix) with ESMTP id B9010140010 for ; Thu, 20 Oct 2022 21:54:27 +0000 (UTC) Received: by mail-qv1-f42.google.com with SMTP id e15so493149qvo.4 for ; Thu, 20 Oct 2022 14:54:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ShOyVALLWkkR4pnZbEXjhmF6LOSGNE0eOMv5EosjK40=; b=LmhsWLB5/8ER2JWGrAWt10ivNX62HhMvv1xr1WhLa8oIGbqE6gfaxeCqdv3/yMH1rg rupS1AoSzdDIE3sKhGSRgJ5JtZIE2Z00oJDsRRai1sGmU5SFhOf536G/b4t9VgZqOm8F +8bmWW2eKxJu2t/MLePJJ0YkKGitQ6cHO2DxfYvC2u+IkGry12ZDQ/MP4rOrSu4d0NBa MLgsBVxBgLZaAXLnaneL/ROAKOtw8peTXm6aE7CAIo2L/Hroz4ZJeq4htcoLmT07Awdi EIVo+KmLfCM/6yslbPviiQniqDYINEwRj+mLjivLeu4/7v5eVh8YdXUaSnwxQxIi1Kgy VU6Q== 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 :subject:date:message-id:reply-to; bh=ShOyVALLWkkR4pnZbEXjhmF6LOSGNE0eOMv5EosjK40=; b=K7f40De1IYw6dO+prOwk8OIm44P8AJDfGSox61WIQAR1dZ8vcPM/D+gQ1tQ15SAq7J iM+WTLBl18zvuGw+EG/ohOW/6mbRK1pPBdHQCY9e2mbAqrk6KZaCAp8nlRfvQ/YnO2h6 fsw4VBe4eDBJG8YoC2EuwpgmZho9sqSp1h0wVMiTjs2uVebB2t49nWYSUPczJLWIz8X2 g8ISA4vlZQxF5vY/E0RTqJm/3kkT84PCU9I8uw0RySrPXClR7ctRp6bMMBao+Asxq7YU fMWIEX2BuWwSigQ7MUBJH9NVKr5oDVi31GZLhX1gxHTucBsthp+dhgOcZlR5r5UL/U7/ jCQg== X-Gm-Message-State: ACrzQf2B1NFsT9MXzt9COFcYimZYdSxngz5xHvvz8pWT15dG4CciHDRN PanX59EopfS4qo5iyd1KVXU= X-Google-Smtp-Source: AMsMyM4hvvi4L9JYqaXZOTFe/8FS+MJ1R0MvB72qG3wAneUbZ7hAzYBbeQWK/BxtpwbfBfx5iBtOJw== X-Received: by 2002:a05:6214:20a8:b0:4b3:d99f:2588 with SMTP id 8-20020a05621420a800b004b3d99f2588mr13740927qvd.64.1666302867022; Thu, 20 Oct 2022 14:54:27 -0700 (PDT) Received: from stbirv-lnx-3.igp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id bj41-20020a05620a192900b006bb29d932e1sm8121067qkb.105.2022.10.20.14.54.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Oct 2022 14:54:26 -0700 (PDT) From: Doug Berger To: Andrew Morton Cc: Jonathan Corbet , Mike Rapoport , Borislav Petkov , "Paul E. McKenney" , Neeraj Upadhyay , Randy Dunlap , Damien Le Moal , Muchun Song , Vlastimil Babka , Johannes Weiner , Michal Hocko , KOSAKI Motohiro , Mel Gorman , Mike Kravetz , Florian Fainelli , David Hildenbrand , Oscar Salvador , Joonsoo Kim , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Doug Berger Subject: [PATCH v3 2/9] mm/page_alloc: calculate node_spanned_pages from pfns Date: Thu, 20 Oct 2022 14:53:11 -0700 Message-Id: <20221020215318.4193269-3-opendmb@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221020215318.4193269-1-opendmb@gmail.com> References: <20221020215318.4193269-1-opendmb@gmail.com> MIME-Version: 1.0 ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1666302867; a=rsa-sha256; cv=none; b=hL8DRyOfimS3ttKr4AnAE7fBoIMy/Yogy2WhpluJEn0gpViwdK3/cjRMk2ePrsLn+ThNLQ DeUlTb4hWg2IKV+3svXGt8v+JNYPHk3rwWX5A8NH5f7dxxh+win6xBF8wKN2ICT1PpwCGM 2ZsB/8hhyjyCfzT1YVMnACfCO+8uN0I= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=LmhsWLB5; spf=pass (imf23.hostedemail.com: domain of opendmb@gmail.com designates 209.85.219.42 as permitted sender) smtp.mailfrom=opendmb@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1666302867; 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=ShOyVALLWkkR4pnZbEXjhmF6LOSGNE0eOMv5EosjK40=; b=b8Cn2d0aMUUnxTc6pr+jarWyBfQObGz9swghz7dR0vT1tKa22wWlGBeGa2qSwnPLdjapWV KJrUDz7wJYQForrA3AmARGBd9sVkY3As6DrSzszbqnq9HdblomiFIA1M/gUcK1Bg9vdP8g CHCQIteXrxS1P9ZtKwEK7k9EO7n63oc= X-Stat-Signature: j9wniwoi95pisdasbx41pqr1i5iihfxf X-Rspamd-Queue-Id: B9010140010 Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=LmhsWLB5; spf=pass (imf23.hostedemail.com: domain of opendmb@gmail.com designates 209.85.219.42 as permitted sender) smtp.mailfrom=opendmb@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1666302867-420801 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: Since the start and end pfns of the node are passed as arguments to calculate_node_totalpages() they might as well be used to specify the node_spanned_pages value for the node rather than accumulating the spans of member zones. This prevents the need for additional adjustments if zones are allowed to overlap. The realtotalpages name is reverted to just totalpages to reduce the burden of supporting multiple realities. Signed-off-by: Doug Berger --- mm/page_alloc.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index e20ade858e71..92908c51f1c3 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -7542,7 +7542,7 @@ static void __init calculate_node_totalpages(struct pglist_data *pgdat, unsigned long node_start_pfn, unsigned long node_end_pfn) { - unsigned long realtotalpages = 0, totalpages = 0; + unsigned long totalpages = 0; enum zone_type i; for (i = 0; i < MAX_NR_ZONES; i++) { @@ -7573,13 +7573,12 @@ static void __init calculate_node_totalpages(struct pglist_data *pgdat, zone->present_early_pages = real_size; #endif - totalpages += size; - realtotalpages += real_size; + totalpages += real_size; } - pgdat->node_spanned_pages = totalpages; - pgdat->node_present_pages = realtotalpages; - pr_debug("On node %d totalpages: %lu\n", pgdat->node_id, realtotalpages); + pgdat->node_spanned_pages = node_end_pfn - node_start_pfn; + pgdat->node_present_pages = totalpages; + pr_debug("On node %d totalpages: %lu\n", pgdat->node_id, totalpages); } #ifndef CONFIG_SPARSEMEM