函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:zap_pmd_range

函数原型:static inline unsigned long zap_pmd_range(struct mmu_gather *tlb, struct vm_area_struct *vma, pud_t *pud, unsigned long addr, unsigned long end, struct zap_details *details)

返回类型:unsigned long

参数:

类型参数名称
struct mmu_gather *tlb
struct vm_area_struct *vma
pud_t *pud
unsigned longaddr
unsigned longend
struct zap_details *details
1165  pmd等于pmd_offset(pud, addr)
1166  循环
1167  next等于pmd_addr_end(addr, end)
1168  如果is_swap_pmd( * pmd)或pmd_trans_huge( * pmd)或pmd_devmap( * pmd)则
1171  否则如果zap_huge_pmd(tlb, vma, pmd, addr)则转到:next
1182  如果This function is meant to be used by sites walking pagetables with* the mmap_sem hold in read mode to protect against MADV_DONTNEED and* transhuge page faults则转到:next
1184  next等于zap_pte_range(tlb, vma, pmd, addr, next, details)
1185  :
1186  cond_resched()
1187 pmd自加, addr等于next, addr不等于end循环
1189  返回:addr
调用者
名称描述
zap_pud_range