Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\memory.c Create Date:2022-07-28 14:39:36
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:free_pmd_range

Proto:static inline void free_pmd_range(struct mmu_gather *tlb, pud_t *pud, unsigned long addr, unsigned long end, unsigned long floor, unsigned long ceiling)

Type:void

Parameter:

TypeParameterName
struct mmu_gather *tlb
pud_t *pud
unsigned longaddr
unsigned longend
unsigned longfloor
unsigned longceiling
230  start = addr
231  pmd = pmd_offset(pud, addr)
232  Do
233  next = pmd_addr_end(addr, end)
234  If pmd_none_or_clear_bad(pmd) Then Continue
236  Note: this doesn't free the actual pages themselves. That* has been handled earlier when unmapping all the memory regions.
237  When pmd++, addr = next , addr != end cycle
239  start &= PUD_MASK
240  If start < floor Then Return
242  If ceiling Then
243  ceiling &= PUD_MASK
244  If Not ceiling Then Return
247  If end - 1 > ceiling - 1 Then Return
250  pmd = pmd_offset(pud, start)
251  pud_clear(pud)
252  pmd_free_tlb(tlb, pmd, start)
253  mm_dec_nr_pmds(mm)
Caller
NameDescribe
free_pud_range