函数逻辑报告 |
Source Code:mm\zsmalloc.c |
Create Date:2022-07-27 18:03:07 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:__zs_compact
函数原型:static void __zs_compact(struct zs_pool *pool, struct size_class *class)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct zs_pool * | pool | |
struct size_class * | class |
2269 | struct zspage * dst_zspage = NULL |
2271 | 加自旋锁 |
2272 | 当src_zspage等于isolate_zspage(class, true)循环 |
2274 | 如果非Based on the number of unused allocated objects calculate* and return the number of pages that we can free.则退出 |
2280 | 当dst_zspage等于isolate_zspage(class, false)循环 |
2281 | Destination page for migration which should be a first page * of zspage. 等于get_first_page(dst_zspage) |
2286 | 如果非migrate_zspage(pool, class, & cc)则退出 |
2293 | 如果(dst_zspage == NULL)则退出 |
2298 | free_zspage(pool, class, src_zspage) |
2301 | 自旋锁解锁 |
2302 | cond_resched() |
2303 | 加自旋锁 |
2306 | 如果src_zspage则putback_zspage - add @zspage into right class's fullness list*@class: destination class*@zspage: target page* Return @zspage's fullness_group |
2309 | 自旋锁解锁 |
名称 | 描述 |
---|---|
zs_compact |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |