Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\hugetlb.c Create Date:2022-07-28 15:29:47
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:isolate_huge_page

Proto:bool isolate_huge_page(struct page *page, struct list_head *list)

Type:bool

Parameter:

TypeParameterName
struct page *page
struct list_head *list
5019  bool ret = true
5021  VM_BUG_ON_PAGE(!PageHead(page), page)
5022  spin_lock( & Protects updates to hugepage_freelists, hugepage_activelist, nr_huge_pages,* free_huge_pages, and surplus_huge_pages.)
5023  If Not Test to determine whether the hugepage is "active/in-use" (i.e. being linked* to hstate->hugepage_activelist.)* This function can be called for tail pages, but never returns true for them. || Not Try to grab a ref unless the page has a refcount of zero, return false if* that is the case.* This can be called when MMU is off so it must not access* any of the virtual mappings. Then
5024  ret = false
5025  Go to unlock
5027  clear_page_huge_active(page)
5028  list_move_tail - delete from one list and add as another's tail*@list: the entry to move*@head: the head that will follow our entry
5029  unlock :
5030  spin_unlock( & Protects updates to hugepage_freelists, hugepage_activelist, nr_huge_pages,* free_huge_pages, and surplus_huge_pages.)
5031  Return ret
Caller
NameDescribe
queue_pages_hugetlb
add_page_for_migrationResolves the given address to a struct page, isolates it from the LRU and* puts it to the given pagelist
soft_offline_huge_page