1 #ifndef __LINUX_PAGE_EXT_H
2 #define __LINUX_PAGE_EXT_H
5 struct page_ext_operations {
10 #ifdef CONFIG_PAGE_EXTENSION
13 * Page Extension can be considered as an extended mem_map.
14 * A page_ext page is associated with every page descriptor. The
15 * page_ext helps us add more information about the page.
16 * All page_ext are allocated at boot or memory hotplug event,
17 * then the page_ext for pfn always exists.
23 extern void pgdat_page_ext_init(struct pglist_data *pgdat);
25 #ifdef CONFIG_SPARSEMEM
26 static inline void page_ext_init_flatmem(void)
29 extern void page_ext_init(void);
31 extern void page_ext_init_flatmem(void);
32 static inline void page_ext_init(void)
37 struct page_ext *lookup_page_ext(struct page *page);
39 #else /* !CONFIG_PAGE_EXTENSION */
42 static inline void pgdat_page_ext_init(struct pglist_data *pgdat)
46 static inline struct page_ext *lookup_page_ext(struct page *page)
51 static inline void page_ext_init(void)
55 static inline void page_ext_init_flatmem(void)
58 #endif /* CONFIG_PAGE_EXTENSION */
59 #endif /* __LINUX_PAGE_EXT_H */