mm: page_alloc: use word-based accesses for get/set pageblock bitmaps
[platform/adaptation/renesas_rcar/renesas_kernel.git] / include / linux / mmzone.h
index 9b61b9b..e6800f0 100644 (file)
@@ -75,9 +75,13 @@ enum {
 
 extern int page_group_by_mobility_disabled;
 
+#define NR_MIGRATETYPE_BITS (PB_migrate_end - PB_migrate + 1)
+#define MIGRATETYPE_MASK ((1UL << NR_MIGRATETYPE_BITS) - 1)
+
 static inline int get_pageblock_migratetype(struct page *page)
 {
-       return get_pageblock_flags_group(page, PB_migrate, PB_migrate_end);
+       BUILD_BUG_ON(PB_migrate_end - PB_migrate != 2);
+       return get_pageblock_flags_mask(page, PB_migrate_end, MIGRATETYPE_MASK);
 }
 
 struct free_area {