at for-next 1.1 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __LINUX_PAGEISOLATION_H 3#define __LINUX_PAGEISOLATION_H 4 5#ifdef CONFIG_MEMORY_ISOLATION 6static inline bool is_migrate_isolate_page(struct page *page) 7{ 8 return get_pageblock_migratetype(page) == MIGRATE_ISOLATE; 9} 10static inline bool is_migrate_isolate(int migratetype) 11{ 12 return migratetype == MIGRATE_ISOLATE; 13} 14#else 15static inline bool is_migrate_isolate_page(struct page *page) 16{ 17 return false; 18} 19static inline bool is_migrate_isolate(int migratetype) 20{ 21 return false; 22} 23#endif 24 25#define MEMORY_OFFLINE 0x1 26#define REPORT_FAILURE 0x2 27 28void set_pageblock_migratetype(struct page *page, int migratetype); 29 30bool move_freepages_block_isolate(struct zone *zone, struct page *page, 31 int migratetype); 32 33int start_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn, 34 int migratetype, int flags, gfp_t gfp_flags); 35 36void undo_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn, 37 int migratetype); 38 39int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn, 40 int isol_flags); 41#endif