Patch "Revert "mm: memblock: replace dereferences of memblock_region.nid with API calls"" has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    Revert "mm: memblock: replace dereferences of memblock_region.nid with API calls"

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     revert-mm-memblock-replace-dereferences-of-memblock_.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 9bfbdc69a529208b28202eb9eb05a85653bd0522
Author: Sasha Levin <sashal@xxxxxxxxxx>
Date:   Thu Jun 27 15:55:18 2024 -0400

    Revert "mm: memblock: replace dereferences of memblock_region.nid with API calls"
    
    This reverts commit 43996cf3480ac3c7d16d48003c2ae5a6e7704029.
    
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/arm64/mm/numa.c b/arch/arm64/mm/numa.c
index 58c83c2b8748f..53ebb4babf3a7 100644
--- a/arch/arm64/mm/numa.c
+++ b/arch/arm64/mm/numa.c
@@ -354,16 +354,13 @@ static int __init numa_register_nodes(void)
 	struct memblock_region *mblk;
 
 	/* Check that valid nid is set to memblks */
-	for_each_memblock(memory, mblk) {
-		int mblk_nid = memblock_get_region_node(mblk);
-
-		if (mblk_nid == NUMA_NO_NODE || mblk_nid >= MAX_NUMNODES) {
+	for_each_memblock(memory, mblk)
+		if (mblk->nid == NUMA_NO_NODE || mblk->nid >= MAX_NUMNODES) {
 			pr_warn("Warning: invalid memblk node %d [mem %#010Lx-%#010Lx]\n",
-				mblk_nid, mblk->base,
+				mblk->nid, mblk->base,
 				mblk->base + mblk->size - 1);
 			return -EINVAL;
 		}
-	}
 
 	/* Finally register nodes. */
 	for_each_node_mask(nid, numa_nodes_parsed) {
diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c
index bd52ce954d59a..7316dca7e846a 100644
--- a/arch/x86/mm/numa.c
+++ b/arch/x86/mm/numa.c
@@ -502,10 +502,8 @@ static void __init numa_clear_kernel_node_hotplug(void)
 	 *   reserve specific pages for Sandy Bridge graphics. ]
 	 */
 	for_each_memblock(reserved, mb_region) {
-		int nid = memblock_get_region_node(mb_region);
-
-		if (nid != MAX_NUMNODES)
-			node_set(nid, reserved_nodemask);
+		if (mb_region->nid != MAX_NUMNODES)
+			node_set(mb_region->nid, reserved_nodemask);
 	}
 
 	/*
diff --git a/mm/memblock.c b/mm/memblock.c
index d2d85d4d16b74..a75cc65f03307 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -1170,15 +1170,13 @@ void __init_memblock __next_mem_pfn_range(int *idx, int nid,
 {
 	struct memblock_type *type = &memblock.memory;
 	struct memblock_region *r;
-	int r_nid;
 
 	while (++*idx < type->cnt) {
 		r = &type->regions[*idx];
-		r_nid = memblock_get_region_node(r);
 
 		if (PFN_UP(r->base) >= PFN_DOWN(r->base + r->size))
 			continue;
-		if (nid == MAX_NUMNODES || nid == r_nid)
+		if (nid == MAX_NUMNODES || nid == r->nid)
 			break;
 	}
 	if (*idx >= type->cnt) {
@@ -1191,7 +1189,7 @@ void __init_memblock __next_mem_pfn_range(int *idx, int nid,
 	if (out_end_pfn)
 		*out_end_pfn = PFN_DOWN(r->base + r->size);
 	if (out_nid)
-		*out_nid = r_nid;
+		*out_nid = r->nid;
 }
 
 /**
@@ -1732,7 +1730,7 @@ int __init_memblock memblock_search_pfn_nid(unsigned long pfn,
 	*start_pfn = PFN_DOWN(type->regions[mid].base);
 	*end_pfn = PFN_DOWN(type->regions[mid].base + type->regions[mid].size);
 
-	return memblock_get_region_node(&type->regions[mid]);
+	return type->regions[mid].nid;
 }
 #endif
 
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 4a649111178cc..0ad582945f54d 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -7214,7 +7214,7 @@ static void __init find_zone_movable_pfns_for_nodes(void)
 			if (!memblock_is_hotpluggable(r))
 				continue;
 
-			nid = memblock_get_region_node(r);
+			nid = r->nid;
 
 			usable_startpfn = PFN_DOWN(r->base);
 			zone_movable_pfn[nid] = zone_movable_pfn[nid] ?
@@ -7235,7 +7235,7 @@ static void __init find_zone_movable_pfns_for_nodes(void)
 			if (memblock_is_mirror(r))
 				continue;
 
-			nid = memblock_get_region_node(r);
+			nid = r->nid;
 
 			usable_startpfn = memblock_region_memory_base_pfn(r);
 




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux