Warning: This file is not a C or C++ file. It does not have highlighting.
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|---|
2 | #ifndef __LINUX_PAGEISOLATION_H |
3 | #define __LINUX_PAGEISOLATION_H |
4 | |
5 | #ifdef CONFIG_MEMORY_ISOLATION |
6 | static inline bool has_isolate_pageblock(struct zone *zone) |
7 | { |
8 | return zone->nr_isolate_pageblock; |
9 | } |
10 | static inline bool is_migrate_isolate_page(struct page *page) |
11 | { |
12 | return get_pageblock_migratetype(page) == MIGRATE_ISOLATE; |
13 | } |
14 | static inline bool is_migrate_isolate(int migratetype) |
15 | { |
16 | return migratetype == MIGRATE_ISOLATE; |
17 | } |
18 | #else |
19 | static inline bool has_isolate_pageblock(struct zone *zone) |
20 | { |
21 | return false; |
22 | } |
23 | static inline bool is_migrate_isolate_page(struct page *page) |
24 | { |
25 | return false; |
26 | } |
27 | static inline bool is_migrate_isolate(int migratetype) |
28 | { |
29 | return false; |
30 | } |
31 | #endif |
32 | |
33 | #define MEMORY_OFFLINE 0x1 |
34 | #define REPORT_FAILURE 0x2 |
35 | |
36 | void set_pageblock_migratetype(struct page *page, int migratetype); |
37 | int move_freepages_block(struct zone *zone, struct page *page, |
38 | int migratetype, int *num_movable); |
39 | |
40 | int start_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn, |
41 | int migratetype, int flags, gfp_t gfp_flags); |
42 | |
43 | void undo_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn, |
44 | int migratetype); |
45 | |
46 | int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn, |
47 | int isol_flags); |
48 | #endif |
49 |
Warning: This file is not a C or C++ file. It does not have highlighting.