函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:walk_page_range - walk page table with caller specific callbacks*@mm: mm_struct representing the target process of page table walk*@start: start address of the virtual address range*@end: end address of the virtual address range*@ops: operation to call

函数原型:int walk_page_range(struct mm_struct *mm, unsigned long start, unsigned long end, const struct mm_walk_ops *ops, void *private)

返回类型:int

参数:

类型参数名称
struct mm_struct *mm
unsigned longstart
unsigned longend
const struct mm_walk_ops *ops
void *private
321  err等于0
324  struct mm_walk walk = {ops = ops, mm = mm, private = private, }
330  如果start大于等于end则返回:负EINVAL
333  如果非mm则返回:负EINVAL
336  lockdep_assert_held( & mmap_sem)
338  vma等于Look up the first VMA which satisfies addr < vm_end, NULL if none.
339  循环
340  如果非vma
341  vma = NULL
342  next等于end
343  否则如果start小于Our start address within vm_mm.
344  vma = NULL
346  否则
347  vma等于vma
352  如果err大于0则
358  err等于0
359  继续下一循环
361  如果err小于0则退出
364  如果vmapte_holeerr等于__walk_page_range(start, next, & walk)
366  如果err退出
368 start等于next, start小于end循环
369  返回:err
调用者
名称描述
mprotect_fixup
madvise_cold_page_range
madvise_pageout_page_range
madvise_free_single_vma
queue_pages_rangeWalk through page tables and collect pages to be migrated
mem_cgroup_count_precharge
mem_cgroup_move_charge
hmm_range_faulthmm_range_fault - try to fault some address in a virtual address range*@range: range being faulted*@flags: HMM_FAULT_* flags* Return: the number of valid pages in range->pfns[] (from range start* address), which may be zero
do_mincoreDo a chunk of "sys_mincore()". We've already checked* all the arguments, we hold the mmap semaphore: we should* just return the amount of info we're asked for.