Function report |
Source Code:mm\page_alloc.c |
Create Date:2022-07-28 15:06:30 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:si_mem_available
Proto:long si_mem_available(void)
Type:long
Parameter:Nothing
| 5079 | wmark_low = 0 |
| 5085 | When lru < NR_LRU_LISTS cycle pages[lru] = global_node_page_state(NR_LRU_BASE + lru) |
| 5088 | r_each_zone - helper macro to iterate over all memory zones*@zone - pointer to struct zone variable* The user only needs to declare the zone variable, for_each_zone* fills it in.(zone) |
| 5089 | wmark_low += low_wmark_pages(zone) |
| 5095 | available = global_zone_page_state( First 128 byte cacheline (assuming 64 bit words) ) - totalreserve_pages |
| 5102 | pagecache = pages[LRU_ACTIVE_FILE] + pages[LRU_INACTIVE_FILE] |
| 5103 | pagecache -= min - return minimum of two values of the same or compatible types*@x: first value*@y: second value(pagecache / 2, wmark_low) |
| 5111 | reclaimable = global_node_page_state(NR_SLAB_RECLAIMABLE) + global_node_page_state( reclaimable non-slab kernel pages ) |
| 5113 | available += reclaimable - min - return minimum of two values of the same or compatible types*@x: first value*@y: second value(reclaimable / 2, wmark_low) |
| 5117 | Return available |
| 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 |