Function report |
Source Code:mm\zsmalloc.c |
Create Date:2022-07-28 16:28:12 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:__zs_compact
Proto:static void __zs_compact(struct zs_pool *pool, struct size_class *class)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct zs_pool * | pool | |
struct size_class * | class |
2269 | struct zspage * dst_zspage = NULL |
2272 | When src_zspage = isolate_zspage(class, true) cycle |
2274 | If Not Based on the number of unused allocated objects calculate* and return the number of pages that we can free. Then Break |
2280 | When dst_zspage = isolate_zspage(class, false) cycle |
2281 | Destination page for migration which should be a first page * of zspage. = get_first_page(dst_zspage) |
2286 | If Not migrate_zspage(pool, class, & cc) Then Break |
2293 | If (dst_zspage == NULL) Then Break |
2298 | free_zspage(pool, class, src_zspage) |
2301 | spin_unlock( & lock) |
2302 | cond_resched() |
2306 | If src_zspage Then putback_zspage - add @zspage into right class's fullness list*@class: destination class*@zspage: target page* Return @zspage's fullness_group |
2309 | spin_unlock( & lock) |
Name | Describe |
---|---|
zs_compact |
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 |