Skip to contentSkip to conversation

mm/page_alloc.c: Implement an empty get_pfn_range_for_nid

PATCH In review Zhang Yanfei 2 participants 3 messages Oct 5, 2013 – Oct 7, 2013

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/2 mm/page_alloc.c: Implement an empty get_pfn_range_for_nid

From: Zhang Yanfei <[email protected]>

Implement an empty get_pfn_range_for_nid for !CONFIG_HAVE_MEMBLOCK_NODE_MAP, so that we could remove the #ifdef in free_area_init_node.

---
 mm/page_alloc.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)
mm/page_alloc.c +5 -2
index dd886fa..1fb13b6 100644
@@ -4566,6 +4566,11 @@ static unsigned long __meminit zone_absent_pages_in_node(int nid,
 }
 
 #else /* CONFIG_HAVE_MEMBLOCK_NODE_MAP */
+void __meminit get_pfn_range_for_nid(unsigned int nid,
+			unsigned long *ignored, unsigned long *ignored)
+{
+}
+
 static inline unsigned long __meminit zone_spanned_pages_in_node(int nid,
 					unsigned long zone_type,
 					unsigned long node_start_pfn,
@@ -4871,9 +4876,7 @@ void __paginginit free_area_init_node(int nid, unsigned long *zones_size,
 	pgdat->node_id = nid;
 	pgdat->node_start_pfn = node_start_pfn;
 	init_zone_allows_reclaim(nid);
-#ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP
 	get_pfn_range_for_nid(nid, &start_pfn, &end_pfn);
-#endif
 	calculate_node_totalpages(pgdat, start_pfn, end_pfn,
 				  zones_size, zholes_size);
 
Signature · 1 line
1.7.1
#1 lore raw

PATCH 2/2 mm/page_alloc.c: Get rid of unused marco LONG_ALIGN

From: Zhang Yanfei <[email protected]>

The macro is nowhere used, so remove it.

---
 mm/page_alloc.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)
mm/page_alloc.c +0 -2
index 1fb13b6..9d8508d 100644
@@ -3881,8 +3881,6 @@ static inline unsigned long wait_table_bits(unsigned long size)
 	return ffz(~size);
 }
 
-#define LONG_ALIGN(x) (((x)+(sizeof(long))-1)&~((sizeof(long))-1))
-
 /*
  * Check if a pageblock contains reserved pages
  */
Signature · 1 line
1.7.1
maintainer
#2 lore raw
In reply to Zhang Yanfei
Quoted 22 lines · On Sun, 06 Oct 2013 01:31:36 +0800 Zhang Yanfei <[email protected]>…

From: Zhang Yanfei <[email protected]>

Implement an empty get_pfn_range_for_nid for !CONFIG_HAVE_MEMBLOCK_NODE_MAP, so that we could remove the #ifdef in free_area_init_node.

...

mm/page_alloc.c +5 -0
@@ -4566,6 +4566,11 @@ static unsigned long __meminit zone_absent_pages_in_node(int nid,
 }
 
 #else /* CONFIG_HAVE_MEMBLOCK_NODE_MAP */
+void __meminit get_pfn_range_for_nid(unsigned int nid,
+			unsigned long *ignored, unsigned long *ignored)
+{
+}
+
 static inline unsigned long __meminit zone_spanned_pages_in_node(int nid,
 					unsigned long zone_type,
 					unsigned long node_start_pfn,

mm/page_alloc.c void __paginginit free_area_init_node(int nid, unsigned long *zones_size, · line 4881

Quoted 8 lines
mm/page_alloc.c +0 -2
@@ -4871,9 +4876,7 @@ void __paginginit free_area_init_node(int nid, unsigned long *zones_size,
 	pgdat->node_id = nid;
 	pgdat->node_start_pfn = node_start_pfn;
 	init_zone_allows_reclaim(nid);
-#ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP
 	get_pfn_range_for_nid(nid, &start_pfn, &end_pfn);
-#endif
 	calculate_node_totalpages(pgdat, start_pfn, end_pfn,
 				  zones_size, zholes_size);

Dunno, really. This will make the kernel a tiny bit larger by generating an out-of-line empty function which nobody calls. This could be fixed by making this static inline, but it's strange to have one version of get_pfn_range_for_nid() static inline and the other global, uninlined.

Is it worth adding a few bytes to vmlinux just to make the source a little tidier?

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>