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_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_aio_write
— 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
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