| Function report | 
| Source Code: mm\hugetlb.c | Create Date:2022-07-28 15:27:11 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:set_max_huge_pages
Proto:static int set_max_huge_pages(struct hstate *h, unsigned long count, int nid, nodemask_t *nodes_allowed)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct hstate * | h | |
| unsigned long | count | |
| int | nid | |
| nodemask_t * | nodes_allowed | 
| 2316 | If node_alloc_noretry Then nodes_clear( * node_alloc_noretry) | 
| 2318 | Else Return -ENOMEM | 
| 2321 | spin_lock( & Protects updates to hugepage_freelists, hugepage_activelist, nr_huge_pages,* free_huge_pages, and surplus_huge_pages.) | 
| 2329 | If nid != NUMA_NO_NODE Then | 
| 2332 | count += nr_huge_pages - nr_huge_pages_node[nid] | 
| 2351 | If count > persistent_huge_pages(h) Then | 
| 2370 | When surplus_huge_pages && count > persistent_huge_pages(h) cycle | 
| 2375 | When count > persistent_huge_pages(h) cycle | 
| 2381 | spin_unlock( & Protects updates to hugepage_freelists, hugepage_activelist, nr_huge_pages,* free_huge_pages, and surplus_huge_pages.) | 
| 2384 | cond_resched() | 
| 2388 | spin_lock( & Protects updates to hugepage_freelists, hugepage_activelist, nr_huge_pages,* free_huge_pages, and surplus_huge_pages.) | 
| 2393 | If signal_pending(current process) Then Go to out | 
| 2412 | min_count = resv_huge_pages + nr_huge_pages - free_huge_pages | 
| 2413 | min_count = max - return maximum of two values of the same or compatible types*@x: first value*@y: second value(count, min_count) | 
| 2414 | try_to_free_low(h, min_count, nodes_allowed) | 
| 2415 | When min_count < persistent_huge_pages(h) cycle | 
| 2420 | When count < persistent_huge_pages(h) cycle | 
| 2424 | out : | 
| 2425 | max_huge_pages = persistent_huge_pages(h) | 
| 2426 | spin_unlock( & Protects updates to hugepage_freelists, hugepage_activelist, nr_huge_pages,* free_huge_pages, and surplus_huge_pages.) | 
| 2430 | Return 0 | 
| Name | Describe | 
|---|---|
| __nr_hugepages_store_common | 
| 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 |