More Memory Management Functions
Prev
Chapter 5. Memory Management in Linux
Next
More Memory Management Functions
read_cache_pages
— populate an address space with some pages & start reads against them
page_cache_sync_readahead
— generic file readahead
page_cache_async_readahead
— file readahead for marked pages
filemap_flush
— mostly a non-blocking flush
sync_page_range
— write and wait on all pages in the passed range
sync_page_range_nolock
— write & wait on all pages in the passed range without locking
filemap_fdatawait
— wait for all under-writeback pages to complete
add_to_page_cache
— add newly allocated pagecache pages
unlock_page
— unlock a locked page
end_page_writeback
— end writeback against a page
__lock_page
— get a lock on the page, assuming we need to sleep to get it
find_get_page
— find and get a page reference
find_lock_page
— locate, pin and lock a pagecache page
find_or_create_page
— locate or add a pagecache page
find_get_pages_contig
— gang contiguous pagecache lookup
find_get_pages_tag
— find and return pages that match
tag
grab_cache_page_nowait
— returns locked page at given index in given cache
generic_file_aio_read
— generic filesystem read routine
filemap_fault
— read in file data for page fault handling
read_cache_page_async
— read into page cache, fill it if needed
read_cache_page
— read into page cache, fill it if needed
try_to_release_page
— release old fs-specific metadata on a page
vm_insert_page
— insert single page into user vma
vm_insert_pfn
— insert single pfn into user vma
remap_pfn_range
— remap kernel memory to userspace
unmap_mapping_range
— unmap the portion of all mmaps in the specified address_space corresponding to the specified page range in the underlying file.
vmtruncate
— unmap mappings “
freed
” by
truncate
syscall
vfree
— release memory allocated by
vmalloc
vunmap
— release virtual mapping obtained by
vmap
vmap
— map an array of pages into virtually contiguous space
vmalloc
— allocate virtually contiguous memory
vmalloc_user
— allocate zeroed virtually contiguous memory for userspace
vmalloc_node
— allocate memory on a specific node
vmalloc_32
— allocate virtually contiguous memory (32bit addressable)
vmalloc_32_user
— allocate zeroed virtually contiguous 32bit memory
remap_vmalloc_range
— map vmalloc pages to userspace
alloc_vm_area
— allocate a range of kernel address space
find_next_best_node
— find the next node that should appear in a given node's fallback list
free_bootmem_with_active_regions
— Call free_bootmem_node for each active range
sparse_memory_present_with_active_regions
— Call memory_present for each active range
push_node_boundaries
— Push node boundaries to at least the requested boundary
get_pfn_range_for_nid
— Return the start and end page frames for a node
absent_pages_in_range
— Return number of page frames in holes within a range
add_active_range
— Register a range of PFNs backed by physical memory
shrink_active_range
— Shrink an existing registered range of PFNs
remove_all_active_ranges
— Remove all currently registered regions
find_min_pfn_with_active_regions
— Find the minimum PFN registered
find_max_pfn_with_active_regions
— Find the maximum PFN registered
free_area_init_nodes
— Initialise all pg_data_t and zone data
set_dma_reserve
— set the specified number of pages reserved in the first zone
setup_per_zone_pages_min
— called when min_free_kbytes changes.
get_pageblock_flags_group
— Return the requested group of flags for the pageblock_nr_pages block of pages
set_pageblock_flags_group
— Set the requested group of flags for a pageblock_nr_pages block of pages
mempool_create
— create a memory pool
mempool_resize
— resize an existing memory pool
mempool_destroy
— deallocate a memory pool
mempool_alloc
— allocate an element from a specific memory pool
mempool_free
— return an element to the pool.
dma_pool_create
— Creates a pool of consistent memory blocks, for dma.
dma_pool_destroy
— destroys a pool of dma memory blocks.
dma_pool_alloc
— get a block of consistent memory
dma_pool_free
— put block back into dma pool
dmam_pool_create
— Managed
dma_pool_create
dmam_pool_destroy
— Managed
dma_pool_destroy
balance_dirty_pages_ratelimited_nr
— balance dirty memory state
write_cache_pages
— walk the list of dirty pages of the given address space and write all of them.
generic_writepages
— walk the list of dirty pages of the given address space and
writepage
all of them.
write_one_page
— write out a single page and optionally wait on I/O
truncate_inode_pages_range
— truncate range of pages specified by start & end byte offsets
truncate_inode_pages
— truncate *all* the pages from an offset
invalidate_mapping_pages
— Invalidate all the unlocked pages of one inode
invalidate_inode_pages2_range
— remove range of pages from an address_space
invalidate_inode_pages2
— remove all pages from an address_space