函数逻辑报告 |
Source Code:mm\hugetlb.c |
Create Date:2022-07-27 16:56:55 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:update_and_free_page
函数原型:static void update_and_free_page(struct hstate *h, struct page *page)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct hstate * | h | |
| struct page * | page |
| 1060 | 如果hstate_is_gigantic(h)且非gigantic_page_runtime_supported()则返回 |
| 1063 | nr_huge_pages自减 |
| 1064 | nr_huge_pages_node[page_to_nid(page)]自减 |
| 1065 | 以i小于pages_per_huge_page(h)循环 |
| 1066 | 体系结构无关页的属性与等于1左移PG_locked位按位或1左移PG_error位按位或1左移PG_referenced位按位或1左移PG_dirty位按位或1左移PG_active位按位或1左移PG_private位按位或1左移PG_writeback位的值的反 |
| 1074 | 如果hstate_is_gigantic(h)则 |
| 1076 | free_gigantic_page(page, huge_page_order(h)) |
| 1077 | 否则 |
| 1078 | __free_pages(page, huge_page_order(h)) |
| 名称 | 描述 |
|---|---|
| __free_huge_page | |
| free_pool_huge_page | Free huge page from pool from next node to free.* Attempt to keep persistent huge pages more or less* balanced over allowed nodes.* Called with hugetlb_lock locked. |
| dissolve_free_huge_page | 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 |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |