More Memory Management Functions
Prev
Chapter 4. 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
delete_from_page_cache
- delete page from page cache
filemap_flush
- mostly a non-blocking flush
filemap_fdatawait_range
- wait for writeback to complete
filemap_fdatawait
- wait for all under-writeback pages to complete
filemap_write_and_wait_range
- write out & wait on a file range
replace_page_cache_page
- replace a pagecache page with a new one
add_to_page_cache_locked
- add a locked page to the pagecache
add_page_wait_queue
- Add an arbitrary waiter to a page's wait queue
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_read_iter
- generic filesystem read routine
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_gfp
- read into page cache, using specified page allocation flags.
read_cache_page
- read into page cache, fill it if needed
__generic_file_write_iter
- write data to a file
generic_file_aio_write
- write data to a file
try_to_release_page
- release old fs-specific metadata on a page
zap_vma_ptes
- remove ptes mapping the vma
__get_user_pages
- pin user pages in memory
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
vm_iomap_memory
- remap 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.
follow_pfn
- look up PFN at a user virtual address
vm_unmap_aliases
- unmap outstanding lazy aliases in the vmap layer
vm_unmap_ram
- unmap linear kernel address space set up by vm_map_ram
vm_map_ram
- map pages linearly into kernel virtual address (vmalloc space)
unmap_kernel_range_noflush
- unmap kernel VM area
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
vzalloc
- allocate virtually contiguous memory with zero fill
vmalloc_user
- allocate zeroed virtually contiguous memory for userspace
vmalloc_node
- allocate memory on a specific node
vzalloc_node
- allocate memory on a specific node with zero fill
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
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
remove_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
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_wmarks
- called when min_free_kbytes changes or when memory is hot-{added|removed}
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
tag_pages_for_writeback
- tag pages to be written by write_cache_pages
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
truncate_pagecache
- unmap and remove pagecache that has been truncated
truncate_setsize
- update inode and pagecache for a new file size
vmtruncate
- unmap mappings freed by truncate syscall