table of contents
other versions
ALLOC_CONTIG_RANGE(9) | Memory Management in Linux | ALLOC_CONTIG_RANGE(9) |
NAME¶
alloc_contig_range - - tries to allocate given range of pagesSYNOPSIS¶
int alloc_contig_range(unsigned long start, unsigned long end, unsigned migratetype, gfp_t gfp_mask);
ARGUMENTS¶
unsigned long startstart PFN to allocate
unsigned long end
one-past-the-last PFN to allocate
unsigned migratetype
migratetype of the underlaying pageblocks (either
#MIGRATE_MOVABLE or #MIGRATE_CMA). All pageblocks in range must have the same
migratetype and it must be either of the two.
gfp_t gfp_mask
GFP mask to use during compaction
DESCRIPTION¶
The PFN range does not have to be pageblock or MAX_ORDER_NR_PAGES aligned, however it's the caller's responsibility to guarantee that we are the only thread that changes migrate type of pageblocks the pages fall in.The PFN range must belong to a single zone.
Returns zero on success or negative error code. On success all pages which PFN is in [start, end) are allocated for the caller and need to be freed with free_contig_range.
COPYRIGHT¶
July 2017 | Kernel Hackers Manual 4.11 |