Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:include\linux\migrate.h Create Date:2022-07-28 05:55:31
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:new_page_nodemask

Proto:static inline struct page *new_page_nodemask(struct page *page, int preferred_nid, nodemask_t *nodemask)

Type:struct page

Parameter:

TypeParameterName
struct page *page
intpreferred_nid
nodemask_t *nodemask
37  gfp_mask = GFP_USER | ZONE_MOVABLE allowed | __GFP_RETRY_MAYFAIL
38  order = 0
39  struct page * new_page = NULL
41  If PageHuge() only returns true for hugetlbfs pages, but not for normal or* transparent huge pages. See the PageTransHuge() documentation for more* details. Then Return page migration callback function
45  If PageHuge() only returns true for hugetlbfs pages, but not for* normal or transparent huge pages.* PageTransHuge() returns true for both transparent huge and* hugetlbfs pages, but not normal pages. PageTransHuge() can only be Then
46  gfp_mask |= GFP_TRANSHUGE
47  order = HPAGE_PMD_ORDER
50  If PageHighMem(page) || zone_idx() returns 0 for the ZONE_DMA zone, 1 for the ZONE_NORMAL zone, etc.(page_zone(page)) == ZONE_MOVABLE Then gfp_mask |= __GFP_HIGHMEM
53  new_page = This is the 'heart' of the zoned buddy allocator.
56  If new_page && PageHuge() only returns true for hugetlbfs pages, but not for* normal or transparent huge pages.* PageTransHuge() returns true for both transparent huge and* hugetlbfs pages, but not normal pages. PageTransHuge() can only be Then prep_transhuge_page(new_page)
59  Return new_page
Caller
NameDescribe
new_page
alloc_migrate_target