Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\memory.c Create Date:2022-07-28 14:42:21
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:map_mapping_pages() - Unmap pages from processes.*@mapping: The address space containing pages to be unmapped.*@start: Index of first page to be unmapped.*@nr: Number of pages to be unmapped. 0 to unmap to end of file.

Proto:void unmap_mapping_pages(struct address_space *mapping, unsigned long start, unsigned long nr, bool even_cows)

Type:void

Parameter:

TypeParameterName
struct address_space *mapping
unsigned longstart
unsigned longnr
booleven_cows
2845  struct zap_details details = {}
2847  Check page->mapping if set = If even_cows Then NULL Else mapping
2848  Lowest page->index to unmap = start
2849  Highest page->index to unmap = start + nr - 1
2850  If Highest page->index to unmap < Lowest page->index to unmap Then Highest page->index to unmap = ULONG_MAX
2853  i_mmap_lock_write(mapping)
2854  If Value for the false possibility is greater at compile time(!RB_EMPTY_ROOT( & rb_root)) Then unmap_mapping_range_tree( & i_mmap, & details)
2856  i_mmap_unlock_write(mapping)
Caller
NameDescribe
invalidate_inode_pages2_rangevalidate_inode_pages2_range - remove range of pages from an address_space*@mapping: the address_space*@start: the page offset 'from' which to invalidate*@end: the page offset 'to' which to invalidate (inclusive)* Any pages which are found to be mapped
unmap_mapping_rangemap_mapping_range - unmap the portion of all mmaps in the specified* address_space corresponding to the specified byte range in the underlying* file
dax_insert_entryBy this point grab_mapping_entry() has ensured that we have a locked entry* of the appropriate size so we don't have to worry about downgrading PMDs to* PTEs