All of lore.kernel.org
 help / color / mirror / Atom feed
From: Baoquan He <bhe@redhat.com>
To: linux-mm@kvack.org
Cc: akpm@linux-foundation.org, rppt@kernel.org, mgorman@suse.de,
	Baoquan He <bhe@redhat.com>
Subject: [PATCH 7/7] mm/init: remove the unnecessary special treatment for memory-less node
Date: Mon, 25 Mar 2024 23:04:59 +0800	[thread overview]
Message-ID: <20240325150459.1045407-8-bhe@redhat.com> (raw)
In-Reply-To: <20240325150459.1045407-1-bhe@redhat.com>

Because memory-less node's ->node_present_pages and its
zone's ->present_pages are all 0, the judgement before calling
node_set_state() to set N_MEMORY, N_HIGH_MEMORY, N_NORMAL_MEMORY for
node is enough to skip memory-less node. The 'continue;' statement
inside for_each_node() loop of free_area_init() is gilding the lily.

Here, remove the special handling to make memory-less node share the
same code flow as normal node. And the code comment above the 'continue'
statement is not needed either.

Signed-off-by: Baoquan He <bhe@redhat.com>
---
 mm/mm_init.c | 18 +++---------------
 1 file changed, 3 insertions(+), 15 deletions(-)

diff --git a/mm/mm_init.c b/mm/mm_init.c
index 089dc60159e9..99681ffb9091 100644
--- a/mm/mm_init.c
+++ b/mm/mm_init.c
@@ -1834,28 +1834,16 @@ void __init free_area_init(unsigned long *max_zone_pfn)
 				panic("Cannot allocate %zuB for node %d.\n",
 				       sizeof(*pgdat), nid);
 			arch_refresh_nodedata(nid, pgdat);
-			free_area_init_node(nid);
-
-			/*
-			 * We do not want to confuse userspace by sysfs
-			 * files/directories for node without any memory
-			 * attached to it, so this node is not marked as
-			 * N_MEMORY and not marked online so that no sysfs
-			 * hierarchy will be created via register_one_node for
-			 * it. The pgdat will get fully initialized by
-			 * hotadd_init_pgdat() when memory is hotplugged into
-			 * this node.
-			 */
-			continue;
 		}
 
 		pgdat = NODE_DATA(nid);
 		free_area_init_node(nid);
 
 		/* Any memory on that node */
-		if (pgdat->node_present_pages)
+		if (pgdat->node_present_pages) {
 			node_set_state(nid, N_MEMORY);
-		check_for_memory(pgdat);
+			check_for_memory(pgdat);
+		}
 	}
 
 	calc_nr_kernel_pages();
-- 
2.41.0



  parent reply	other threads:[~2024-03-25 15:05 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-25 15:04 [PATCH 0/7] mm: minor clean up and improvement Baoquan He
2024-03-25 15:04 ` [PATCH 1/7] mm/mm_init.c: remove the useless dma_reserve Baoquan He
2024-03-26  8:27   ` kernel test robot
2024-03-26  9:01   ` kernel test robot
2024-03-26 11:01     ` Baoquan He
2024-03-25 15:04 ` [PATCH 2/7] mm/mm_init.c: add new function calc_nr_all_pages() Baoquan He
2024-03-25 15:04 ` [PATCH 3/7] mm/mm_init.c: remove meaningless calculation of zone->managed_pages in free_area_init_core() Baoquan He
2024-03-25 15:04 ` [PATCH 4/7] mm/mm_init.c: remove unneeded calc_memmap_size() Baoquan He
2024-03-25 15:04 ` [PATCH 5/7] mm/mm_init.c: remove arch_reserved_kernel_pages() Baoquan He
2024-03-25 15:04 ` [PATCH 6/7] mm: move array mem_section init code out of memory_present() Baoquan He
2024-03-25 15:04 ` Baoquan He [this message]
2024-03-25 15:08 ` [PATCH 0/7] mm: minor clean up and improvement Baoquan He

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=20240325150459.1045407-8-bhe@redhat.com \
    --to=bhe@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=rppt@kernel.org \
    /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.