函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:free_pud_range

函数原型:static inline void free_pud_range(struct mmu_gather *tlb, p4d_t *p4d, unsigned long addr, unsigned long end, unsigned long floor, unsigned long ceiling)

返回类型:void

参数:

类型参数名称
struct mmu_gather *tlb
p4d_t *p4d
unsigned longaddr
unsigned longend
unsigned longfloor
unsigned longceiling
264  start等于addr
265  pud等于pud_offset(p4d, addr)
266  循环
267  next等于pud_addr_end(addr, end)
268  如果pud_none_or_clear_bad(pud)则继续下一循环
270  free_pmd_range(tlb, pud, addr, next, floor, ceiling)
271 pud自加, addr等于next, addr不等于end循环
273  start与等于P4D_MASK
274  如果start小于floor则返回
276  如果ceiling
277  ceiling与等于P4D_MASK
278  如果非ceiling则返回
281  如果end减1大于ceiling减1则返回
284  pud等于pud_offset(p4d, start)
285  p4d_clear(p4d)
286  pud_free_tlb(tlb, pud, start)
287  mm_dec_nr_puds(mm)
调用者
名称描述
free_p4d_range