brintos

brintos / linux-shallow public Read only

0
0
Text · 1.2 KiB · c16db00 Raw
50 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef __LINUX_PAGEISOLATION_H3#define __LINUX_PAGEISOLATION_H4 5#ifdef CONFIG_MEMORY_ISOLATION6static inline bool has_isolate_pageblock(struct zone *zone)7{8	return zone->nr_isolate_pageblock;9}10static inline bool is_migrate_isolate_page(struct page *page)11{12	return get_pageblock_migratetype(page) == MIGRATE_ISOLATE;13}14static inline bool is_migrate_isolate(int migratetype)15{16	return migratetype == MIGRATE_ISOLATE;17}18#else19static inline bool has_isolate_pageblock(struct zone *zone)20{21	return false;22}23static inline bool is_migrate_isolate_page(struct page *page)24{25	return false;26}27static inline bool is_migrate_isolate(int migratetype)28{29	return false;30}31#endif32 33#define MEMORY_OFFLINE	0x134#define REPORT_FAILURE	0x235 36void set_pageblock_migratetype(struct page *page, int migratetype);37 38bool move_freepages_block_isolate(struct zone *zone, struct page *page,39				  int migratetype);40 41int start_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn,42			     int migratetype, int flags, gfp_t gfp_flags);43 44void undo_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn,45			     int migratetype);46 47int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn,48			int isol_flags);49#endif50