函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\mempolicy.c Create Date:2022-07-27 17:03:42
Last Modify:2020-03-17 22:28:11 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:queue_pages_pmd() has four possible return values:* 0 - pages are placed on the right node or queued successfully

函数原型:static int queue_pages_pmd(pmd_t *pmd, spinlock_t *ptl, unsigned long addr, unsigned long end, struct mm_walk *walk)

返回类型:int

参数:

类型参数名称
pmd_t *pmd
spinlock_t *ptl
unsigned longaddr
unsigned longend
struct mm_walk *walk
446  ret等于0
448  qp等于private
451  如果此条件成立可能性小(为编译器优化)(is_pmd_migration_entry( * pmd))则
452  ret等于负EIO
453  转到:unlock
455  page等于Currently stuck as a macro due to indirect forward reference to* linux/mmzone.h's __section_mem_map_addr() definition:( * pmd)
456  如果is_huge_zero_page(page)则
457  自旋锁解锁
458  __split_huge_pmd(vma, pmd, addr, TSC's on different sockets may be reset asynchronously.* This may cause the TSC ADJUST value on socket 0 to be NOT 0., NULL)
459  ret等于2
460  转到:out
462  如果非Check if the page's nid is in qp->nmask.* If MPOL_MF_INVERT is set in qp->flags, check if the nid is* in the invert of qp->nmask.则转到:unlock
465  flags等于flags
467  如果flags按位与Move pages owned by this process to conformto policy 按位或Move every page to conform to policy 的值则
470  ret等于1
471  转到:unlock
473  否则ret等于负EIO
475  unlock :
476  自旋锁解锁
477  out :
478  返回:ret
调用者
名称描述
queue_pages_pte_rangeScan through pages checking if pages follow certain conditions,* and move them to the pagelist if they do