diff options
Diffstat (limited to 'include/linux/mmzone.h')
-rw-r--r-- | include/linux/mmzone.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index cf9e458e96b0..b4d109e389b8 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h | |||
@@ -321,6 +321,15 @@ struct zone { | |||
321 | unsigned long *pageblock_flags; | 321 | unsigned long *pageblock_flags; |
322 | #endif /* CONFIG_SPARSEMEM */ | 322 | #endif /* CONFIG_SPARSEMEM */ |
323 | 323 | ||
324 | #ifdef CONFIG_COMPACTION | ||
325 | /* | ||
326 | * On compaction failure, 1<<compact_defer_shift compactions | ||
327 | * are skipped before trying again. The number attempted since | ||
328 | * last failure is tracked with compact_considered. | ||
329 | */ | ||
330 | unsigned int compact_considered; | ||
331 | unsigned int compact_defer_shift; | ||
332 | #endif | ||
324 | 333 | ||
325 | ZONE_PADDING(_pad1_) | 334 | ZONE_PADDING(_pad1_) |
326 | 335 | ||
@@ -641,9 +650,10 @@ typedef struct pglist_data { | |||
641 | 650 | ||
642 | #include <linux/memory_hotplug.h> | 651 | #include <linux/memory_hotplug.h> |
643 | 652 | ||
653 | extern struct mutex zonelists_mutex; | ||
644 | void get_zone_counts(unsigned long *active, unsigned long *inactive, | 654 | void get_zone_counts(unsigned long *active, unsigned long *inactive, |
645 | unsigned long *free); | 655 | unsigned long *free); |
646 | void build_all_zonelists(void); | 656 | void build_all_zonelists(void *data); |
647 | void wakeup_kswapd(struct zone *zone, int order); | 657 | void wakeup_kswapd(struct zone *zone, int order); |
648 | int zone_watermark_ok(struct zone *z, int order, unsigned long mark, | 658 | int zone_watermark_ok(struct zone *z, int order, unsigned long mark, |
649 | int classzone_idx, int alloc_flags); | 659 | int classzone_idx, int alloc_flags); |
@@ -661,6 +671,12 @@ void memory_present(int nid, unsigned long start, unsigned long end); | |||
661 | static inline void memory_present(int nid, unsigned long start, unsigned long end) {} | 671 | static inline void memory_present(int nid, unsigned long start, unsigned long end) {} |
662 | #endif | 672 | #endif |
663 | 673 | ||
674 | #ifdef CONFIG_HAVE_MEMORYLESS_NODES | ||
675 | int local_memory_node(int node_id); | ||
676 | #else | ||
677 | static inline int local_memory_node(int node_id) { return node_id; }; | ||
678 | #endif | ||
679 | |||
664 | #ifdef CONFIG_NEED_NODE_MEMMAP_SIZE | 680 | #ifdef CONFIG_NEED_NODE_MEMMAP_SIZE |
665 | unsigned long __init node_memmap_size_bytes(int, unsigned long, unsigned long); | 681 | unsigned long __init node_memmap_size_bytes(int, unsigned long, unsigned long); |
666 | #endif | 682 | #endif |
@@ -972,7 +988,7 @@ struct mem_section { | |||
972 | #endif | 988 | #endif |
973 | 989 | ||
974 | #define SECTION_NR_TO_ROOT(sec) ((sec) / SECTIONS_PER_ROOT) | 990 | #define SECTION_NR_TO_ROOT(sec) ((sec) / SECTIONS_PER_ROOT) |
975 | #define NR_SECTION_ROOTS (NR_MEM_SECTIONS / SECTIONS_PER_ROOT) | 991 | #define NR_SECTION_ROOTS DIV_ROUND_UP(NR_MEM_SECTIONS, SECTIONS_PER_ROOT) |
976 | #define SECTION_ROOT_MASK (SECTIONS_PER_ROOT - 1) | 992 | #define SECTION_ROOT_MASK (SECTIONS_PER_ROOT - 1) |
977 | 993 | ||
978 | #ifdef CONFIG_SPARSEMEM_EXTREME | 994 | #ifdef CONFIG_SPARSEMEM_EXTREME |