函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\hugetlb.c Create Date:2022-07-27 16:57:33
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Dissolve a given free hugepage into free buddy pages. This function does* nothing for in-use hugepages and non-hugepages.* This function returns values like below:* -EBUSY: failed to dissolved free hugepages or the hugepage is in-use

函数原型:int dissolve_free_huge_page(struct page *page)

返回类型:int

参数:

类型参数名称
struct page *page
1484  rc等于负EBUSY
1487  如果非PageHuge() only returns true for hugetlbfs pages, but not for normal or* transparent huge pages. See the PageTransHuge() documentation for more* details.则返回:0
1490  加自旋锁
1491  如果非PageHuge() only returns true for hugetlbfs pages, but not for normal or* transparent huge pages. See the PageTransHuge() documentation for more* details.
1492  rc等于0
1493  转到:out
1496  如果非page_count(page)则
1497  head等于compound_head(page)
1498  h等于page_hstate(head)
1499  nid等于page_to_nid(head)
1500  如果free_huge_pagesresv_huge_pages恒等于0则转到:out
1506  如果PageHWPoison(head)且page不等于head
1510  删除链表项
1511  free_huge_pages自减
1512  free_huge_pages_node[nid]自减
1513  max_huge_pages自减
1514  update_and_free_page(h, head)
1515  rc等于0
1517  out :
1518  自旋锁解锁
1519  返回:rc
调用者
名称描述
dissolve_free_huge_pagesDissolve free hugepages in a given pfn range
me_huge_pageHuge pages. Needs work.* Issues:* - Error on hugepage is contained in hugepage unit (not in raw page unit.)* To narrow down kill region to one page, we need to break up pmd.
memory_failure_hugetlb
soft_offline_huge_page
soft_offline_free_page