Function report |
Source Code:mm\hugetlb.c |
Create Date:2022-07-28 15:25:57 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:update_and_free_page
Proto:static void update_and_free_page(struct hstate *h, struct page *page)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct hstate * | h | |
| struct page * | page |
| 1060 | If hstate_is_gigantic(h) && Not gigantic_page_runtime_supported() Then Return |
| 1063 | nr_huge_pages-- |
| 1064 | nr_huge_pages_node[page_to_nid(page)]-- |
| 1065 | When i < pages_per_huge_page(h) cycle |
| 1066 | Atomic flags, some possibly * updated asynchronously &= ~( 1 << PG_locked | 1 << PG_error | 1 << PG_referenced | 1 << PG_dirty | 1 << PG_active | 1 << PG_private | 1 << PG_writeback ) |
| 1074 | If hstate_is_gigantic(h) Then |
| 1076 | free_gigantic_page(page, huge_page_order(h)) |
| 1077 | Else |
| 1078 | __free_pages(page, huge_page_order(h)) |
| Name | Describe |
|---|---|
| __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 |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |