函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:hugetlb_unreserve_pages

函数原型:long hugetlb_unreserve_pages(struct inode *inode, long start, long end, long freed)

返回类型:long

参数:

类型参数名称
struct inode *inode
longstart
longend
longfreed
4661  h等于hstate_inode(inode)
4662  resv_map等于inode_resv_map(inode)
4663  chg等于0
4664  spool等于subpool_inode(inode)
4671  如果resv_map
4672  chg等于Delete the specified range [f, t) from the reserve map. If the* t parameter is LONG_MAX, this indicates that ALL regions after f* should be deleted. Locate the regions which intersect [f, t)* and either trim, delete or split the existing regions.
4678  如果chg小于0则返回:chg
4682  加自旋锁
4683  i_blocks减等于blocks_per_huge_page(h)乘freed
4684  自旋锁解锁
4690  gbl_reserve等于Subpool accounting for freeing and unreserving pages.* Return the number of global page reservations that must be dropped.* The return value may only be different than the passed value (delta)* in the case where a subpool minimum size must be maintained.
4691  Forward declaration
4693  返回:0