[PATCH 00/17] mm: zone & pgdat accessors plus some cleanup

From: Cody P Schafer
Date: Tue Jan 15 2013 - 19:25:11 EST


Summaries:

01 - removes the use of zone_end_pfn as a local var name.
02 - adds zone_end_pfn(), zone_is_initialized(), zone_is_empty() and zone_spans_pfn()
03 - adds a VM_BUG using zone_is_initialized() in __free_one_page()

04 - add ensure_zone_is_initialized() (for memory_hotplug)
05 - use the above addition.

06 - add pgdat_end_pfn() and pgdat_is_empty()

07,08,09,10,11,12,16,17 - use the new helpers

13 - avoid repeating checks for section in page flags by adding a define.
14 - memory hotplug: factor out zone+pgdat growth.
15 - add debugging message to VM_BUG check.

As a general concern: spanned_pages & start_pfn (in pgdat & zone) are supposed
to be locked (via a seqlock) when read (due to changes to them via
memory_hotplug), but very few (only 1?) of their users appear to actually lock
them.

--

include/linux/mm.h | 8 ++++--
include/linux/mmzone.h | 34 ++++++++++++++++++++++---
mm/compaction.c | 10 ++++----
mm/kmemleak.c | 5 ++--
mm/memory_hotplug.c | 68 ++++++++++++++++++++++++++++----------------------
mm/page_alloc.c | 31 +++++++++++++----------
mm/vmstat.c | 2 +-
7 files changed, 100 insertions(+), 58 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/