Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Allocate a page in interleaved policy.Own path because it needs to do special accounting.

Proto:static struct page *alloc_page_interleave(gfp_t gfp, unsigned order, unsigned nid)

Type:struct page

Parameter:

TypeParameterName
gfp_tgfp
unsignedorder
unsignednid
2077  page = __alloc_pages(gfp, order, nid)
2079  If Not static_branch_likely( & vm_numa_stat_key) Then Return page
2081  If page && page_to_nid(page) == nid Then
2082  Even if we don't have any preemption, we need preempt disable/enable* to be barriers, so that we don't have things like get_user/put_user* that can cause faults and scheduling migrate into our preempt-protected* region.()
2083  __inc_numa_state(page_zone(page), interleaver preferred this zone )
2084  preempt_enable()
2086  Return page
Caller
NameDescribe
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.
alloc_pages_currentalloc_pages_current - Allocate pages.*@gfp:* %GFP_USER user allocation,* %GFP_KERNEL kernel allocation,* %GFP_HIGHMEM highmem allocation,* %GFP_FS don't call back into a file system.* %GFP_ATOMIC don't sleep.