函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:unmap_page_range

函数原型:void unmap_page_range(struct mmu_gather *tlb, struct vm_area_struct *vma, unsigned long addr, unsigned long end, struct zap_details *details)

返回类型:void

参数:

类型参数名称
struct mmu_gather *tlb
struct vm_area_struct *vma
unsigned longaddr
unsigned longend
struct zap_details *details
1248  BUG_ON(addr >= end)
1249  tlb_start_vma(tlb, vma)
1250  pgd等于a shortcut to get a pgd_t in a given mm(The address space we belong to. , addr)
1251  循环
1252  next等于When walking page tables, get the address of the next boundary,* or the end address of the range if that comes earlier. Although no* vma end wraps to 0, rounded up __boundary may wrap to 0 throughout.(addr, end)
1253  如果pgd_none_or_clear_bad(pgd)则继续下一循环
1255  next等于zap_p4d_range(tlb, vma, pgd, addr, next, details)
1256 pgd自加, addr等于next, addr不等于end循环
1257  tlb_end_vma(tlb, vma)
调用者
名称描述
unmap_single_vma
__oom_reap_task_mm