函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Throttle direct reclaimers if backing storage is backed by the network* and the PFMEMALLOC reserve for the preferred node is getting dangerously* depleted. kswapd will continue to make progress and wake the processes* when the low watermark is reached.

函数原型:static bool throttle_direct_reclaim(gfp_t gfp_mask, struct zonelist *zonelist, nodemask_t *nodemask)

返回类型:bool

参数:

类型参数名称
gfp_tgfp_mask
struct zonelist *zonelist
nodemask_t *nodemask
3177  pg_data_t * pgdat = NULL
3186  如果flags按位与I am a kernel thread 则转到:out
3193  如果fatal_signal_pending(当前进程)则转到:out
3212  如果zone_idx() returns 0 for the ZONE_DMA zone, 1 for the ZONE_NORMAL zone, etc.(zone)大于标记为可直接映射的内核段的普通内存域则继续下一循环
3216  pgdat等于建立内存域和父结点之间的关联
3217  如果allow_direct_reclaim(pgdat)则转到:out
3219  退出
3223  如果非pgdat则转到:out
3227  Disable counters
3237  如果非gfp_mask按位与__GFP_FS的值则
3238  wait_event_interruptible_timeout - sleep until a condition gets true or a timeout elapses*@wq_head: the waitqueue to wait on*@condition: a C expression for the event to wait for*@timeout: timeout, in jiffies* The process is put to sleep (pfmemalloc_wait, allow_direct_reclaim(pgdat), HZ)
3241  转到:check_pending
3245  wait_event_killable - sleep until a condition gets true*@wq_head: the waitqueue to wait on*@condition: a C expression for the event to wait for* The process is put to sleep (TASK_KILLABLE) until the*@condition evaluates to true or a signal is received.(pfmemalloc_wait, allow_direct_reclaim(pgdat))
3248  check_pending :
3249  如果fatal_signal_pending(当前进程)则返回:true
3252  out :
3253  返回:false
调用者
名称描述
try_to_free_pages