|
#define | ___GFP_DMA 0x01u |
|
#define | ___GFP_HIGHMEM 0x02u |
|
#define | ___GFP_DMA32 0x04u |
|
#define | ___GFP_MOVABLE 0x08u |
|
#define | ___GFP_WAIT 0x10u |
|
#define | ___GFP_HIGH 0x20u |
|
#define | ___GFP_IO 0x40u |
|
#define | ___GFP_FS 0x80u |
|
#define | ___GFP_COLD 0x100u |
|
#define | ___GFP_NOWARN 0x200u |
|
#define | ___GFP_REPEAT 0x400u |
|
#define | ___GFP_NOFAIL 0x800u |
|
#define | ___GFP_NORETRY 0x1000u |
|
#define | ___GFP_MEMALLOC 0x2000u |
|
#define | ___GFP_COMP 0x4000u |
|
#define | ___GFP_ZERO 0x8000u |
|
#define | ___GFP_NOMEMALLOC 0x10000u |
|
#define | ___GFP_HARDWALL 0x20000u |
|
#define | ___GFP_THISNODE 0x40000u |
|
#define | ___GFP_RECLAIMABLE 0x80000u |
|
#define | ___GFP_NOTRACK 0x200000u |
|
#define | ___GFP_NO_KSWAPD 0x400000u |
|
#define | ___GFP_OTHER_NODE 0x800000u |
|
#define | ___GFP_WRITE 0x1000000u |
|
#define | __GFP_DMA ((__force gfp_t)___GFP_DMA) |
|
#define | __GFP_HIGHMEM ((__force gfp_t)___GFP_HIGHMEM) |
|
#define | __GFP_DMA32 ((__force gfp_t)___GFP_DMA32) |
|
#define | __GFP_MOVABLE ((__force gfp_t)___GFP_MOVABLE) /* Page is movable */ |
|
#define | GFP_ZONEMASK (__GFP_DMA|__GFP_HIGHMEM|__GFP_DMA32|__GFP_MOVABLE) |
|
#define | __GFP_WAIT ((__force gfp_t)___GFP_WAIT) /* Can wait and reschedule? */ |
|
#define | __GFP_HIGH ((__force gfp_t)___GFP_HIGH) /* Should access emergency pools? */ |
|
#define | __GFP_IO ((__force gfp_t)___GFP_IO) /* Can start physical IO? */ |
|
#define | __GFP_FS ((__force gfp_t)___GFP_FS) /* Can call down to low-level FS? */ |
|
#define | __GFP_COLD ((__force gfp_t)___GFP_COLD) /* Cache-cold page required */ |
|
#define | __GFP_NOWARN ((__force gfp_t)___GFP_NOWARN) /* Suppress page allocation failure warning */ |
|
#define | __GFP_REPEAT ((__force gfp_t)___GFP_REPEAT) /* See above */ |
|
#define | __GFP_NOFAIL ((__force gfp_t)___GFP_NOFAIL) /* See above */ |
|
#define | __GFP_NORETRY ((__force gfp_t)___GFP_NORETRY) /* See above */ |
|
#define | __GFP_MEMALLOC ((__force gfp_t)___GFP_MEMALLOC)/* Allow access to emergency reserves */ |
|
#define | __GFP_COMP ((__force gfp_t)___GFP_COMP) /* Add compound page metadata */ |
|
#define | __GFP_ZERO ((__force gfp_t)___GFP_ZERO) /* Return zeroed page on success */ |
|
#define | __GFP_NOMEMALLOC |
|
#define | __GFP_HARDWALL ((__force gfp_t)___GFP_HARDWALL) /* Enforce hardwall cpuset memory allocs */ |
|
#define | __GFP_THISNODE ((__force gfp_t)___GFP_THISNODE)/* No fallback, no policies */ |
|
#define | __GFP_RECLAIMABLE ((__force gfp_t)___GFP_RECLAIMABLE) /* Page is reclaimable */ |
|
#define | __GFP_NOTRACK ((__force gfp_t)___GFP_NOTRACK) /* Don't track with kmemcheck */ |
|
#define | __GFP_NO_KSWAPD ((__force gfp_t)___GFP_NO_KSWAPD) |
|
#define | __GFP_OTHER_NODE ((__force gfp_t)___GFP_OTHER_NODE) /* On behalf of other node */ |
|
#define | __GFP_WRITE ((__force gfp_t)___GFP_WRITE) /* Allocator intends to dirty page */ |
|
#define | __GFP_NOTRACK_FALSE_POSITIVE (__GFP_NOTRACK) |
|
#define | __GFP_BITS_SHIFT 25 /* Room for N __GFP_FOO bits */ |
|
#define | __GFP_BITS_MASK ((__force gfp_t)((1 << __GFP_BITS_SHIFT) - 1)) |
|
#define | GFP_NOWAIT (GFP_ATOMIC & ~__GFP_HIGH) |
|
#define | GFP_ATOMIC (__GFP_HIGH) |
|
#define | GFP_NOIO (__GFP_WAIT) |
|
#define | GFP_NOFS (__GFP_WAIT | __GFP_IO) |
|
#define | GFP_KERNEL (__GFP_WAIT | __GFP_IO | __GFP_FS) |
|
#define | GFP_TEMPORARY |
|
#define | GFP_USER (__GFP_WAIT | __GFP_IO | __GFP_FS | __GFP_HARDWALL) |
|
#define | GFP_HIGHUSER |
|
#define | GFP_HIGHUSER_MOVABLE |
|
#define | GFP_IOFS (__GFP_IO | __GFP_FS) |
|
#define | GFP_TRANSHUGE |
|
#define | GFP_THISNODE ((__force gfp_t)0) |
|
#define | GFP_MOVABLE_MASK (__GFP_RECLAIMABLE|__GFP_MOVABLE) |
|
#define | GFP_RECLAIM_MASK |
|
#define | GFP_BOOT_MASK (__GFP_BITS_MASK & ~(__GFP_WAIT|__GFP_IO|__GFP_FS)) |
|
#define | GFP_CONSTRAINT_MASK (__GFP_HARDWALL|__GFP_THISNODE) |
|
#define | GFP_SLAB_BUG_MASK (__GFP_DMA32|__GFP_HIGHMEM|~__GFP_BITS_MASK) |
|
#define | GFP_DMA __GFP_DMA |
|
#define | GFP_DMA32 __GFP_DMA32 |
|
#define | OPT_ZONE_HIGHMEM ZONE_NORMAL |
|
#define | OPT_ZONE_DMA ZONE_NORMAL |
|
#define | OPT_ZONE_DMA32 ZONE_NORMAL |
|
#define | GFP_ZONE_TABLE |
|
#define | GFP_ZONE_BAD |
|
#define | alloc_pages(gfp_mask, order) alloc_pages_node(numa_node_id(), gfp_mask, order) |
|
#define | alloc_pages_vma(gfp_mask, order, vma, addr, node) alloc_pages(gfp_mask, order) |
|
#define | alloc_page(gfp_mask) alloc_pages(gfp_mask, 0) |
|
#define | alloc_page_vma(gfp_mask, vma, addr) alloc_pages_vma(gfp_mask, 0, vma, addr, numa_node_id()) |
|
#define | alloc_page_vma_node(gfp_mask, vma, addr, node) alloc_pages_vma(gfp_mask, 0, vma, addr, node) |
|
#define | __get_free_page(gfp_mask) __get_free_pages((gfp_mask), 0) |
|
#define | __get_dma_pages(gfp_mask, order) __get_free_pages((gfp_mask) | GFP_DMA, (order)) |
|
#define | __free_page(page) __free_pages((page), 0) |
|
#define | free_page(addr) free_pages((addr), 0) |
|
alloc_pages_exact - allocate an exact number physically-contiguous pages. : the number of bytes to allocate : GFP flags for the allocation
This function is similar to alloc_pages(), except that it allocates the minimum number of pages to satisfy the request. alloc_pages() can only allocate memory in power-of-two pages.
This function is also limited by MAX_ORDER.
Memory allocated by this function must be released by free_pages_exact().
Definition at line 2732 of file page_alloc.c.