Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
linux
page-isolation.h
Go to the documentation of this file.
1
#ifndef __LINUX_PAGEISOLATION_H
2
#define __LINUX_PAGEISOLATION_H
3
4
5
bool
has_unmovable_pages
(
struct
zone
*
zone
,
struct
page
*
page
,
int
count
);
6
void
set_pageblock_migratetype
(
struct
page
*
page
,
int
migratetype);
7
int
move_freepages_block
(
struct
zone
*
zone
,
struct
page
*
page
,
8
int
migratetype);
9
int
move_freepages
(
struct
zone
*
zone
,
10
struct
page
*start_page,
struct
page
*end_page,
11
int
migratetype);
12
13
/*
14
* Changes migrate type in [start_pfn, end_pfn) to be MIGRATE_ISOLATE.
15
* If specified range includes migrate types other than MOVABLE or CMA,
16
* this will fail with -EBUSY.
17
*
18
* For isolating all pages in the range finally, the caller have to
19
* free all pages in the range. test_page_isolated() can be used for
20
* test it.
21
*/
22
int
23
start_isolate_page_range
(
unsigned
long
start_pfn,
unsigned
long
end_pfn,
24
unsigned
migratetype);
25
26
/*
27
* Changes MIGRATE_ISOLATE to MIGRATE_MOVABLE.
28
* target range is [start_pfn, end_pfn)
29
*/
30
int
31
undo_isolate_page_range
(
unsigned
long
start_pfn,
unsigned
long
end_pfn,
32
unsigned
migratetype);
33
34
/*
35
* Test all pages in [start_pfn, end_pfn) are isolated or not.
36
*/
37
int
test_pages_isolated
(
unsigned
long
start_pfn,
unsigned
long
end_pfn);
38
39
/*
40
* Internal functions. Changes pageblock's migrate type.
41
*/
42
int
set_migratetype_isolate
(
struct
page
*
page
);
43
void
unset_migratetype_isolate
(
struct
page
*
page
,
unsigned
migratetype);
44
struct
page
*
alloc_migrate_target
(
struct
page
*
page
,
unsigned
long
private
,
45
int
**resultp);
46
47
#endif
Generated on Thu Jan 10 2013 14:52:16 for Linux Kernel by
1.8.2