函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\page_alloc.c Create Date:2022-07-27 16:33:10
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:set_pageblock_migratetype

函数原型:void set_pageblock_migratetype(struct page *page, int migratetype)

返回类型:void

参数:

类型参数名称
struct page *page
intmigratetype
552  如果此条件成立可能性小(为编译器优化)(page_group_by_mobility_disabled && migratetype < MIGRATE_PCPTYPES)则migratetype等于MIGRATE_UNMOVABLE
556  set_pageblock_flags_group(page, (unsignedlong)migratetype, PB_migrate, PB_migrate_end)
调用者
名称描述
init_cma_reserved_pageblockFree whole pageblock and set its migration type to MIGRATE_CMA.
change_pageblock_range
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
__isolate_free_page
memmap_init_zoneInitially all pages are reserved - free ones are freed* up by memblock_free_all() once the early boot process is* done. Non-atomic initialization, single-pass.
soft_offline_in_use_page
set_migratetype_isolate
unset_migratetype_isolate