函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\vmscan.c Create Date:2022-07-27 15:43:18
Last Modify:2022-05-23 13:41:30 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:This is the direct reclaim path, for page-allocating processes. We only* try to reclaim pages from zones which will satisfy the caller's allocation* request.* If a zone is deemed to be full of pinned pages then just give it a light

函数原型:static void shrink_zones(struct zonelist *zonelist, struct scan_control *sc)

返回类型:void

参数:

类型参数名称
struct zonelist *zonelist
struct scan_control *sc
2931  pg_data_t * last_pgdat = NULL
2938  orig_mask等于 This context's GFP mask
2939  如果buffer_heads_over_limit
2940  This context's GFP mask 或等于__GFP_HIGHMEM
2941  The highest zone to isolate pages for reclaim from 等于gfp_zone( This context's GFP mask )
2950  如果非cgroup_reclaim(sc)则
2951  如果非cpuset_zone_allowed(zone, GFP_KERNEL | __GFP_HARDWALL)则继续下一循环
2968  继续下一循环
2977  如果建立内存域和父结点之间的关联恒等于last_pgdat则继续下一循环
2986  nr_soft_scanned等于0
2996  如果建立内存域和父结点之间的关联恒等于last_pgdat则继续下一循环
2998  last_pgdat等于建立内存域和父结点之间的关联
2999  shrink_node(建立内存域和父结点之间的关联, sc)
3006  This context's GFP mask 等于orig_mask
调用者
名称描述
do_try_to_free_pagesThis is the main entry point to direct page reclaim