mm: use zone_end_pfn() instead of zone_start_pfn+spanned_pages
Subsystems (4)
PATCH 1/3 mm: use zone_end_pfn() instead of zone_start_pfn+spanned_pages
Use "zone_end_pfn()" instead of "zone->zone_start_pfn + zone->spanned_pages". Simplify the code, no functional change.
--- kernel/power/snapshot.c | 12 ++++++------ mm/memory_hotplug.c | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-)
kernel/power/snapshot.c +6 -6
@@ -352,7 +352,7 @@ static int create_mem_extents(struct list_head *list, gfp_t gfp_mask)struct mem_extent *ext, *cur, *aux; zone_start = zone->zone_start_pfn; - zone_end = zone->zone_start_pfn + zone->spanned_pages; + zone_end =zone_end_pfn (zone);list_for_each_entry (ext, list, hook)if (zone_start <= ext->end)
@@ -884,7 +884,7 @@ static unsigned int count_highmem_pages(void)continue ;mark_free_pages (zone); - max_zone_pfn = zone->zone_start_pfn + zone->spanned_pages; + max_zone_pfn =zone_end_pfn (zone);for (pfn = zone->zone_start_pfn; pfn < max_zone_pfn; pfn++)if (saveable_highmem_page (zone, pfn)) n++;
@@ -948,7 +948,7 @@ static unsigned int count_data_pages(void)continue ;mark_free_pages (zone); - max_zone_pfn = zone->zone_start_pfn + zone->spanned_pages; + max_zone_pfn =zone_end_pfn (zone);for (pfn = zone->zone_start_pfn; pfn < max_zone_pfn; pfn++)if (saveable_page (zone, pfn)) n++;
@@ -1041,7 +1041,7 @@ copy_data_pages(struct memory_bitmap *copy_bm, struct memory_bitmap *orig_bm)unsigned long max_zone_pfn;mark_free_pages (zone); - max_zone_pfn = zone->zone_start_pfn + zone->spanned_pages; + max_zone_pfn =zone_end_pfn (zone);for (pfn = zone->zone_start_pfn; pfn < max_zone_pfn; pfn++)if (page_is_saveable (zone, pfn))memory_bm_set_bit (orig_bm, pfn);
@@ -1093,7 +1093,7 @@ void swsusp_free(void)unsigned long pfn, max_zone_pfn;for_each_populated_zone (zone) { - max_zone_pfn = zone->zone_start_pfn + zone->spanned_pages; + max_zone_pfn =zone_end_pfn (zone);for (pfn = zone->zone_start_pfn; pfn < max_zone_pfn; pfn++)if (pfn_valid (pfn)) {struct page *page =pfn_to_page (pfn);
@@ -1755,7 +1755,7 @@ static int mark_unsafe_pages(struct memory_bitmap *bm)/* Clear page flags */ for_each_populated_zone (zone) { - max_zone_pfn = zone->zone_start_pfn + zone->spanned_pages; + max_zone_pfn =zone_end_pfn (zone);for (pfn = zone->zone_start_pfn; pfn < max_zone_pfn; pfn++)if (pfn_valid (pfn))swsusp_unset_page_free (pfn_to_page (pfn));
mm/memory_hotplug.c +2 -2
@@ -229,7 +229,7 @@ static void grow_zone_span(struct zone *zone, unsigned long start_pfn,zone_span_writelock (zone); - old_zone_end_pfn = zone->zone_start_pfn + zone->spanned_pages; + old_zone_end_pfn =zone_end_pfn (zone);if (!zone->spanned_pages || start_pfn < zone->zone_start_pfn) zone->zone_start_pfn = start_pfn;
@@ -515,7 +515,7 @@ static void shrink_zone_span(struct zone *zone, unsigned long start_pfn, unsigned long end_pfn) {unsigned long zone_start_pfn = zone->zone_start_pfn; -unsigned long zone_end_pfn = zone->zone_start_pfn + zone->spanned_pages; +unsigned long zone_end_pfn =zone_end_pfn (zone);unsigned long pfn;struct mem_section *ms;int nid =zone_to_nid (zone);
Signature · 1 line
1.7.1
Andrew Morton
maintainerQuoted 2 lines · On Wed, 7 Aug 2013 17:09:56 +0800 Xishi Qiu <[email protected]> wrote:
Use "
zone_end_pfn()" instead of "zone->zone_start_pfn+zone->spanned_pages". Simplify the code, no functional change.
This doesn't compile.
mm/memory_hotplug.c: In function 'shrink_zone_span':mm/memory_hotplug.c:518: error: called object 'zone_end_pfn' is not a function
Quoted 2 lines
kernel/power/snapshot.c | 12 ++++++------ mm/memory_hotplug.c | 4 ++--
It's only two files - did you test it?
I couldn't see any vaguely acceptable way of renaming the variables to fix this, so I did a hack which permits us to keep the current naming. Any better ideas?
mm/memory_hotplug.c renamed from mm/memory_hotplug.c~mm-use-zone_end_pfn-instead-of-zone_start_pfnspanned_pages-fix +3 -2
@@ -514,8 +514,9 @@ static int find_biggest_section_pfn(intstatic void shrink_zone_span (struct zone *zone,unsigned long start_pfn,unsigned long end_pfn) { -unsigned long zone_start_pfn = zone->zone_start_pfn; -unsigned long zone_end_pfn =zone_end_pfn (zone); +unsigned long zone_start_pfn = zone->zone_start_pfn; +unsigned long z =zone_end_pfn (zone);/* zone_end_pfn namespace clash */ +unsigned long zone_end_pfn = z;unsigned long pfn;struct mem_section *ms;int nid =zone_to_nid (zone);
_
--
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>