函数逻辑报告 |
Source Code:mm\page_alloc.c |
Create Date:2022-07-27 16:34:19 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:move_freepages_block
函数原型:int move_freepages_block(struct zone *zone, struct page *page, int migratetype, int *num_movable)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct zone * | zone | |
struct page * | page | |
int | migratetype | |
int * | num_movable |
2284 | 如果num_movable则num_movable等于0 |
2287 | start_pfn等于page_to_pfn(page) |
2288 | start_pfn等于start_pfn按位与pageblock_nr_pages减1的差的反 |
2289 | start_page等于pfn_to_page(start_pfn) |
2290 | end_page等于start_page加pageblock_nr_pages减1 |
2291 | end_pfn等于start_pfn加pageblock_nr_pages减1 |
2294 | 如果非zone_spans_pfn(zone, start_pfn)则start_page等于page |
2296 | 如果非zone_spans_pfn(zone, end_pfn)则返回:0 |
名称 | 描述 |
---|---|
steal_suitable_fallback | This function implements actual steal behaviour. If order is large enough,* we can steal whole pageblock. If not, we first move freepages in this* pageblock to our migratetype and determine how many already-allocated pages |
reserve_highatomic_pageblock | Reserve a pageblock for exclusive use of high-order atomic allocations if* there are no empty page blocks that contain a page with a suitable order |
unreserve_highatomic_pageblock | Used when an allocation is about to fail under memory pressure |
set_migratetype_isolate | |
unset_migratetype_isolate |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |