函数逻辑报告 |
Source Code:mm\memory.c |
Create Date:2022-07-27 16:09:29 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称: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.
函数原型:void unmap_mapping_pages(struct address_space *mapping, unsigned long start, unsigned long nr, bool even_cows)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct address_space * | mapping | |
| unsigned long | start | |
| unsigned long | nr | |
| bool | even_cows |
| 2845 | struct zap_details details = {} |
| 2847 | Check page->mapping if set 等于如果even_cows则NULL否则mapping |
| 2848 | Lowest page->index to unmap 等于start |
| 2849 | Highest page->index to unmap 等于start加nr减1 |
| 2850 | 如果Highest page->index to unmap 小于Lowest page->index to unmap 则Highest page->index to unmap 等于ULONG_MAX |
| 2853 | i_mmap_lock_write(mapping) |
| 2854 | 如果此条件成立可能性小(为编译器优化)(!RB_EMPTY_ROOT( & rb_root))则unmap_mapping_range_tree( & i_mmap, & details) |
| 2856 | i_mmap_unlock_write(mapping) |
| 名称 | 描述 |
|---|---|
| invalidate_inode_pages2_range | validate_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_range | map_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_entry | By 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 |
| truncate_cleanup_page | If truncate cannot remove the fs-private metadata from the page, the page* becomes orphaned |
| grab_mapping_entry | Find page cache entry at given index. If it is a DAX entry, return it* with the entry locked. If the page cache doesn't contain an entry at* that index, add a locked empty entry.* When requesting an entry with size DAX_PMD, grab_mapping_entry() will |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |