Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\mempolicy.c Create Date:2022-07-28 15:32:53
Last Modify:2020-03-17 22:28:11 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Determine a node number for interleave

Proto:static inline unsigned interleave_nid(struct mempolicy *pol, struct vm_area_struct *vma, unsigned long addr, int shift)

Type:unsigned

Parameter:

TypeParameterName
struct mempolicy *pol
struct vm_area_struct *vma
unsigned longaddr
intshift
1923  If vma Then
1933  BUG_ON(shift < PAGE_SHIFT determines the page size )
1934  off = Offset (within vm_file) in PAGE_SIZEunits >> shift - PAGE_SHIFT determines the page size
1935  off += addr - Our start address within vm_mm. >> shift
1936  Return Do static interleaving for a VMA with known offset @n. Returns the n'th* node in pol->v.nodes (starting from n=0), wrapping around if n exceeds the* number of present nodes.
1937  Else Return Do dynamic interleaving for a process
Caller
NameDescribe
huge_nodehuge_node(@vma, @addr, @gfp_flags, @mpol)*@vma: virtual memory area whose policy is sought*@addr: address in @vma for shared policy lookup and interleave policy*@gfp_flags: for requested zone*@mpol: pointer to mempolicy pointer for reference counted
alloc_pages_vmaalloc_pages_vma - Allocate a page for a VMA.*@gfp:* %GFP_USER user allocation.* %GFP_KERNEL kernel allocations,* %GFP_HIGHMEM highmem/user allocations,* %GFP_FS allocation should not call back into a file system.* %GFP_ATOMIC don't sleep.