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 |
