|
@@ -625,6 +625,10 @@ static inline enum zone_type page_zonenum(const struct page *page)
|
|
|
return (page->flags >> ZONES_PGSHIFT) & ZONES_MASK;
|
|
|
}
|
|
|
|
|
|
+#if defined(CONFIG_SPARSEMEM) && !defined(CONFIG_SPARSEMEM_VMEMMAP)
|
|
|
+#define SECTION_IN_PAGE_FLAGS
|
|
|
+#endif
|
|
|
+
|
|
|
/*
|
|
|
* The identification function is only used by the buddy allocator for
|
|
|
* determining if two pages could be buddies. We are not really
|
|
@@ -708,7 +712,7 @@ static inline struct zone *page_zone(const struct page *page)
|
|
|
return &NODE_DATA(page_to_nid(page))->node_zones[page_zonenum(page)];
|
|
|
}
|
|
|
|
|
|
-#if defined(CONFIG_SPARSEMEM) && !defined(CONFIG_SPARSEMEM_VMEMMAP)
|
|
|
+#ifdef SECTION_IN_PAGE_FLAGS
|
|
|
static inline void set_page_section(struct page *page, unsigned long section)
|
|
|
{
|
|
|
page->flags &= ~(SECTIONS_MASK << SECTIONS_PGSHIFT);
|
|
@@ -738,7 +742,7 @@ static inline void set_page_links(struct page *page, enum zone_type zone,
|
|
|
{
|
|
|
set_page_zone(page, zone);
|
|
|
set_page_node(page, node);
|
|
|
-#if defined(CONFIG_SPARSEMEM) && !defined(CONFIG_SPARSEMEM_VMEMMAP)
|
|
|
+#ifdef SECTION_IN_PAGE_FLAGS
|
|
|
set_page_section(page, pfn_to_section_nr(pfn));
|
|
|
#endif
|
|
|
}
|