函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\mmap.c Create Date:2022-07-27 16:17:44
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:unmap_region

函数原型:static void unmap_region(struct mm_struct *mm, struct vm_area_struct *vma, struct vm_area_struct *prev, unsigned long start, unsigned long end)

返回类型:void

参数:

类型参数名称
struct mm_struct *mm
struct vm_area_struct *vma
struct vm_area_struct *prev
unsigned longstart
unsigned longend
2587  next等于如果prevlinked list of VM areas per task, sorted by address 否则 list of VMAs
2590  lru_add_drain()
2591  tlb_gather_mmu( & tlb, mm, start, end)
2592  update_hiwater_rss(mm)
2593  map_vmas - unmap a range of memory covered by a list of vma's*@tlb: address of the caller's struct mmu_gather*@vma: the starting vma*@start_addr: virtual address at which to start unmapping*@end_addr: virtual address at which to end unmapping
2594  free_pgtables( & tlb, vma, prev ? The first byte after our end addresswithin vm_mm. : FIRST_USER_ADDRESS, next ? Our start address within vm_mm. : On almost all architectures and configurations, 0 can be used as the* upper ceiling to free_pgtables(): on many architectures it has the same* effect as using TASK_SIZE. However, there is one configuration which)
2596  tlb_finish_mmu( & tlb, start, end)
调用者
名称描述
mmap_region
__do_munmapMunmap is split into 2 main parts -- this part which finds* what needs doing, and the areas themselves, which do the* work. This now handles partial unmappings.* Jeremy Fitzhardinge