All of lore.kernel.org
 help / color / mirror / Atom feed
From: Doug Berger <opendmb@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Jonathan Corbet <corbet@lwn.net>, Mike Rapoport <rppt@kernel.org>,
	Borislav Petkov <bp@suse.de>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	Neeraj Upadhyay <quic_neeraju@quicinc.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Damien Le Moal <damien.lemoal@opensource.wdc.com>,
	Muchun Song <songmuchun@bytedance.com>,
	Vlastimil Babka <vbabka@suse.cz>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Michal Hocko <mhocko@suse.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Mel Gorman <mgorman@suse.de>,
	Mike Kravetz <mike.kravetz@oracle.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Oscar Salvador <osalvador@suse.de>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, Doug Berger <opendmb@gmail.com>
Subject: [PATCH v3 2/9] mm/page_alloc: calculate node_spanned_pages from pfns
Date: Thu, 20 Oct 2022 14:53:11 -0700	[thread overview]
Message-ID: <20221020215318.4193269-3-opendmb@gmail.com> (raw)
In-Reply-To: <20221020215318.4193269-1-opendmb@gmail.com>

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 <opendmb@gmail.com>
---
 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
-- 
2.25.1


  parent reply	other threads:[~2022-10-20 21:54 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-20 21:53 [PATCH v3 0/9] mm: introduce Designated Movable Blocks Doug Berger
2022-10-20 21:53 ` [PATCH v3 1/9] lib/show_mem.c: display MovableOnly Doug Berger
2022-10-20 21:53 ` Doug Berger [this message]
2022-10-20 21:53 ` [PATCH v3 3/9] mm/page_alloc: prevent creation of empty zones Doug Berger
2022-10-20 21:53 ` [PATCH v3 4/9] mm/page_alloc.c: allow oversized movablecore Doug Berger
2022-10-20 21:53 ` [PATCH v3 5/9] mm/page_alloc: introduce init_reserved_pageblock() Doug Berger
2022-10-20 21:53 ` [PATCH v3 6/9] memblock: introduce MEMBLOCK_MOVABLE flag Doug Berger
2022-10-20 21:53 ` [PATCH v3 7/9] mm/dmb: Introduce Designated Movable Blocks Doug Berger
2022-10-20 21:53 ` [PATCH v3 8/9] mm/page_alloc: make alloc_contig_pages DMB aware Doug Berger
2022-10-20 21:53 ` [PATCH v3 9/9] mm/page_alloc: allow base for movablecore Doug Berger
2022-10-26 10:55 ` [PATCH v3 0/9] mm: introduce Designated Movable Blocks Mel Gorman
2022-10-26 11:11   ` David Hildenbrand
2022-10-26 12:02     ` Mel Gorman
2022-11-02 22:33   ` Doug Berger
2022-11-18 17:05     ` Mel Gorman
2022-12-15  0:17       ` Doug Berger
2023-01-04 15:43         ` Mel Gorman
2023-01-04 19:10           ` Florian Fainelli
2023-01-19 22:33           ` Doug Berger
2023-01-03 23:43 ` Florian Fainelli
2023-01-04 15:56   ` David Hildenbrand
2023-01-04 19:00     ` Florian Fainelli
2023-01-05 13:29       ` David Hildenbrand
2023-04-18 20:09         ` Florian Fainelli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221020215318.4193269-3-opendmb@gmail.com \
    --to=opendmb@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=bp@suse.de \
    --cc=corbet@lwn.net \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=david@redhat.com \
    --cc=f.fainelli@gmail.com \
    --cc=hannes@cmpxchg.org \
    --cc=iamjoonsoo.kim@lge.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=mhocko@suse.com \
    --cc=mike.kravetz@oracle.com \
    --cc=osalvador@suse.de \
    --cc=paulmck@kernel.org \
    --cc=quic_neeraju@quicinc.com \
    --cc=rdunlap@infradead.org \
    --cc=rppt@kernel.org \
    --cc=songmuchun@bytedance.com \
    --cc=vbabka@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.