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 —
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
do_generic_mapping_read — generic file read routine
generic_file_aio_read — generic filesystem read routine
filemap_fault — read in file data for page fault handling
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.
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.
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 and
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

Prev | Up | Next
copy_from_user | Home | read_cache_pages