diff options
Diffstat (limited to 'include/linux/pageblock-flags.h')
-rw-r--r-- | include/linux/pageblock-flags.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/include/linux/pageblock-flags.h b/include/linux/pageblock-flags.h index 19ef95d293ae..be655e4a2a75 100644 --- a/include/linux/pageblock-flags.h +++ b/include/linux/pageblock-flags.h | |||
@@ -30,6 +30,9 @@ enum pageblock_bits { | |||
30 | PB_migrate, | 30 | PB_migrate, |
31 | PB_migrate_end = PB_migrate + 3 - 1, | 31 | PB_migrate_end = PB_migrate + 3 - 1, |
32 | /* 3 bits required for migrate types */ | 32 | /* 3 bits required for migrate types */ |
33 | #ifdef CONFIG_COMPACTION | ||
34 | PB_migrate_skip,/* If set the block is skipped by compaction */ | ||
35 | #endif /* CONFIG_COMPACTION */ | ||
33 | NR_PAGEBLOCK_BITS | 36 | NR_PAGEBLOCK_BITS |
34 | }; | 37 | }; |
35 | 38 | ||
@@ -65,10 +68,22 @@ unsigned long get_pageblock_flags_group(struct page *page, | |||
65 | void set_pageblock_flags_group(struct page *page, unsigned long flags, | 68 | void set_pageblock_flags_group(struct page *page, unsigned long flags, |
66 | int start_bitidx, int end_bitidx); | 69 | int start_bitidx, int end_bitidx); |
67 | 70 | ||
71 | #ifdef CONFIG_COMPACTION | ||
72 | #define get_pageblock_skip(page) \ | ||
73 | get_pageblock_flags_group(page, PB_migrate_skip, \ | ||
74 | PB_migrate_skip) | ||
75 | #define clear_pageblock_skip(page) \ | ||
76 | set_pageblock_flags_group(page, 0, PB_migrate_skip, \ | ||
77 | PB_migrate_skip) | ||
78 | #define set_pageblock_skip(page) \ | ||
79 | set_pageblock_flags_group(page, 1, PB_migrate_skip, \ | ||
80 | PB_migrate_skip) | ||
81 | #endif /* CONFIG_COMPACTION */ | ||
82 | |||
68 | #define get_pageblock_flags(page) \ | 83 | #define get_pageblock_flags(page) \ |
69 | get_pageblock_flags_group(page, 0, NR_PAGEBLOCK_BITS-1) | 84 | get_pageblock_flags_group(page, 0, PB_migrate_end) |
70 | #define set_pageblock_flags(page, flags) \ | 85 | #define set_pageblock_flags(page, flags) \ |
71 | set_pageblock_flags_group(page, flags, \ | 86 | set_pageblock_flags_group(page, flags, \ |
72 | 0, NR_PAGEBLOCK_BITS-1) | 87 | 0, PB_migrate_end) |
73 | 88 | ||
74 | #endif /* PAGEBLOCK_FLAGS_H */ | 89 | #endif /* PAGEBLOCK_FLAGS_H */ |