Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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 activityDownload SCCTChinese

Name:move_freepages_block

Proto:int move_freepages_block(struct zone *zone, struct page *page, int migratetype, int *num_movable)

Type:int

Parameter:

TypeParameterName
struct zone *zone
struct page *page
intmigratetype
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
2299  Return Move the free pages in a range to the free lists of the requested type.* Note that start_page and end_pages are not aligned on a pageblock* boundary. If alignment is required, use move_freepages_block()
Caller
NameDescribe
steal_suitable_fallbackThis 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_pageblockReserve 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_pageblockUsed when an allocation is about to fail under memory pressure
set_migratetype_isolate
unset_migratetype_isolate