函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:zap_pud_range

函数原型:static inline unsigned long zap_pud_range(struct mmu_gather *tlb, struct vm_area_struct *vma, p4d_t *p4d, unsigned long addr, unsigned long end, struct zap_details *details)

返回类型:unsigned long

参数:

类型参数名称
struct mmu_gather *tlb
struct vm_area_struct *vma
p4d_t *p4d
unsigned longaddr
unsigned longend
struct zap_details *details
1200  pud等于pud_offset(p4d, addr)
1201  循环
1202  next等于pud_addr_end(addr, end)
1203  如果pud_trans_huge( * pud)或pud_devmap( * pud)则
1204  如果nextaddr不等于HPAGE_PUD_SIZE
1207  否则如果zap_huge_pud(tlb, vma, pud, addr)则转到:next
1211  如果pud_none_or_clear_bad(pud)则继续下一循环
1213  next等于zap_pmd_range(tlb, vma, pud, addr, next, details)
1214  :
1215  cond_resched()
1216 pud自加, addr等于next, addr不等于end循环
1218  返回:addr
调用者
名称描述
zap_p4d_range