mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 00:48:50 +00:00
mm: add SECTION_IN_PAGE_FLAGS
Instead of directly utilizing a combination of config options to determine this, add a macro to specifically address it. Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com> Cc: David Hansen <dave@linux.vnet.ibm.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Mel Gorman <mel@csn.ul.ie> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
4805b02e90
commit
9127ab4ff9
1 changed files with 6 additions and 2 deletions
|
@ -625,6 +625,10 @@ static inline enum zone_type page_zonenum(const struct page *page)
|
||||||
return (page->flags >> ZONES_PGSHIFT) & ZONES_MASK;
|
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
|
* The identification function is only used by the buddy allocator for
|
||||||
* determining if two pages could be buddies. We are not really
|
* 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)];
|
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)
|
static inline void set_page_section(struct page *page, unsigned long section)
|
||||||
{
|
{
|
||||||
page->flags &= ~(SECTIONS_MASK << SECTIONS_PGSHIFT);
|
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_zone(page, zone);
|
||||||
set_page_node(page, node);
|
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));
|
set_page_section(page, pfn_to_section_nr(pfn));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue