Function report |
Source Code:mm\page_alloc.c |
Create Date:2022-07-28 15:04:15 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:move_freepages_block
Proto:int move_freepages_block(struct zone *zone, struct page *page, int migratetype, int *num_movable)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct zone * | zone | |
struct page * | page | |
int | migratetype | |
int * | num_movable |
2284 | If num_movable Then 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 | If Not zone_spans_pfn(zone, start_pfn) Then start_page = page |
2296 | If Not zone_spans_pfn(zone, end_pfn) Then Return 0 |
Name | Describe |
---|---|
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 |
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 |