1ALLOC_CONTIG_RANGE(9) Memory Management in Linux ALLOC_CONTIG_RANGE(9)
2
3
4
6 alloc_contig_range - - tries to allocate given range of pages
7
9 int alloc_contig_range(unsigned long start, unsigned long end,
10 unsigned migratetype);
11
13 start
14 start PFN to allocate
15
16 end
17 one-past-the-last PFN to allocate
18
19 migratetype
20 migratetype of the underlaying pageblocks (either #MIGRATE_MOVABLE
21 or #MIGRATE_CMA). All pageblocks in range must have the same
22 migratetype and it must be either of the two.
23
25 The PFN range does not have to be pageblock or MAX_ORDER_NR_PAGES
26 aligned, however it's the caller's responsibility to guarantee that we
27 are the only thread that changes migrate type of pageblocks the pages
28 fall in.
29
30 The PFN range must belong to a single zone.
31
32 Returns zero on success or negative error code. On success all pages
33 which PFN is in [start, end) are allocated for the caller and need to
34 be freed with free_contig_range.
35
37Kernel Hackers Manual 3.10 June 2019 ALLOC_CONTIG_RANGE(9)