[PATCH v2 2/3] drivers/base/memory: Improve add_boot_memory_block()

Gavin Shan posted 3 patches 11 months ago
There is a newer version of this series
[PATCH v2 2/3] drivers/base/memory: Improve add_boot_memory_block()
Posted by Gavin Shan 11 months ago
It's unnecessary to count the present sections for the specified
block since the block will be added if any section in the block
is present. Besides, for_each_present_section_nr() can be reused
as Andrew Morton suggested.

Improve by using for_each_present_section_nr() and dropping the
unnecessary @section_count.

No functional changes intended.

Signed-off-by: Gavin Shan <gshan@redhat.com>
---
 drivers/base/memory.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/drivers/base/memory.c b/drivers/base/memory.c
index 348c5dbbfa68..f66e9d537c12 100644
--- a/drivers/base/memory.c
+++ b/drivers/base/memory.c
@@ -822,18 +822,17 @@ static int add_memory_block(unsigned long block_id, unsigned long state,
 
 static int __init add_boot_memory_block(unsigned long base_section_nr)
 {
-	int section_count = 0;
 	unsigned long nr;
 
-	for (nr = base_section_nr; nr < base_section_nr + sections_per_block;
-	     nr++)
-		if (present_section_nr(nr))
-			section_count++;
+	for_each_present_section_nr(base_section_nr, nr) {
+		if (nr >= (base_section_nr + sections_per_block))
+			break;
 
-	if (section_count == 0)
-		return 0;
-	return add_memory_block(memory_block_id(base_section_nr),
-				MEM_ONLINE, NULL,  NULL);
+		return add_memory_block(memory_block_id(base_section_nr),
+					MEM_ONLINE, NULL, NULL);
+	}
+
+	return 0;
 }
 
 static int add_hotplug_memory_block(unsigned long block_id,
-- 
2.48.1
Re: [PATCH v2 2/3] drivers/base/memory: Improve add_boot_memory_block()
Posted by Oscar Salvador 11 months ago
On Tue, Mar 11, 2025 at 10:46:56AM +1000, Gavin Shan wrote:
> It's unnecessary to count the present sections for the specified
> block since the block will be added if any section in the block
> is present. Besides, for_each_present_section_nr() can be reused
> as Andrew Morton suggested.
> 
> Improve by using for_each_present_section_nr() and dropping the
> unnecessary @section_count.
> 
> No functional changes intended.
> 
> Signed-off-by: Gavin Shan <gshan@redhat.com>

Acked-by: Oscar Salvador <osalvador@suse.de>

-- 
Oscar Salvador
SUSE Labs
Re: [PATCH v2 2/3] drivers/base/memory: Improve add_boot_memory_block()
Posted by David Hildenbrand 11 months ago
On 11.03.25 01:46, Gavin Shan wrote:
> It's unnecessary to count the present sections for the specified
> block since the block will be added if any section in the block
> is present. Besides, for_each_present_section_nr() can be reused
> as Andrew Morton suggested.
> 
> Improve by using for_each_present_section_nr() and dropping the
> unnecessary @section_count.
> 
> No functional changes intended.
> 
> Signed-off-by: Gavin Shan <gshan@redhat.com>
> ---

Acked-by: David Hildenbrand <david@redhat.com>

-- 
Cheers,

David / dhildenb