函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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
注解内核,赢得工具下载SCCTEnglish

函数名称: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
intmigratetype
int *num_movable
2284  如果num_movablenum_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_pagepageblock_nr_pages减1
2291  end_pfn等于start_pfnpageblock_nr_pages减1
2294  如果非zone_spans_pfn(zone, start_pfn)则start_page等于page
2296  如果非zone_spans_pfn(zone, end_pfn)则返回:0
2299  返回: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()
调用者
名称描述
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