函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |