mm: enable set_page_section() only if CONFIG_SPARSEMEM and !CONFIG_SPARSEMEM_VMEMMAP
set_page_section() is meaningful only in CONFIG_SPARSEMEM and !CONFIG_SPARSEMEM_VMEMMAP context. Move it to proper place and amend accordingly functions which are using it. Signed-off-by: Daniel Kiper <dkiper@net-space.pl> Acked-by: Dave Hansen <dave@linux.vnet.ibm.com> Acked-by: David Rientjes <rientjes@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
					parent
					
						
							
								a3bc42f584
							
						
					
				
			
			
				commit
				
					
						bf4e8902ee
					
				
			
		
					 1 changed files with 8 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -682,6 +682,12 @@ static inline struct zone *page_zone(struct page *page)
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
#if defined(CONFIG_SPARSEMEM) && !defined(CONFIG_SPARSEMEM_VMEMMAP)
 | 
			
		||||
static inline void set_page_section(struct page *page, unsigned long section)
 | 
			
		||||
{
 | 
			
		||||
	page->flags &= ~(SECTIONS_MASK << SECTIONS_PGSHIFT);
 | 
			
		||||
	page->flags |= (section & SECTIONS_MASK) << SECTIONS_PGSHIFT;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline unsigned long page_to_section(struct page *page)
 | 
			
		||||
{
 | 
			
		||||
	return (page->flags >> SECTIONS_PGSHIFT) & SECTIONS_MASK;
 | 
			
		||||
| 
						 | 
				
			
			@ -700,18 +706,14 @@ static inline void set_page_node(struct page *page, unsigned long node)
 | 
			
		|||
	page->flags |= (node & NODES_MASK) << NODES_PGSHIFT;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void set_page_section(struct page *page, unsigned long section)
 | 
			
		||||
{
 | 
			
		||||
	page->flags &= ~(SECTIONS_MASK << SECTIONS_PGSHIFT);
 | 
			
		||||
	page->flags |= (section & SECTIONS_MASK) << SECTIONS_PGSHIFT;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void set_page_links(struct page *page, enum zone_type zone,
 | 
			
		||||
	unsigned long node, unsigned long pfn)
 | 
			
		||||
{
 | 
			
		||||
	set_page_zone(page, zone);
 | 
			
		||||
	set_page_node(page, node);
 | 
			
		||||
#if defined(CONFIG_SPARSEMEM) && !defined(CONFIG_SPARSEMEM_VMEMMAP)
 | 
			
		||||
	set_page_section(page, pfn_to_section_nr(pfn));
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue