函数逻辑报告 |
Source Code:mm\page_alloc.c |
Create Date:2022-07-27 16:35:58 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Checks whether it makes sense to retry the reclaim to make a forward progress* for the given allocation request.* We give up when we either have tried MAX_RECLAIM_RETRIES in a row* without success, or when we couldn't even meet the watermark if we
函数原型:static inline bool should_reclaim_retry(gfp_t gfp_mask, unsigned order, struct alloc_context *ac, int alloc_flags, bool did_some_progress, int *no_progress_loops)
返回类型:bool
参数:
类型 | 参数 | 名称 |
---|---|---|
gfp_t | gfp_mask | |
unsigned | order | |
struct alloc_context * | ac | |
int | alloc_flags | |
bool | did_some_progress | |
int * | no_progress_loops |
4272 | bool ret = false |
4281 | 否则no_progress_loops自加 |
4303 | min_wmark等于min_wmark_pages(zone) |
4315 | trace_reclaim_retry_zone(z, order, reclaimable, available, min_wmark, * no_progress_loops, wmark) |
4317 | 如果wmark则 |
4324 | 如果非did_some_progress则 |
4330 | 如果2乘write_pending大于reclaimable则 |
4336 | ret = true |
4337 | 转到:out |
4341 | out : |
4349 | 如果flags按位与进程处于工作队列中则schedule_timeout_uninterruptible(1) |
4351 | 否则cond_resched() |
4353 | 返回:ret |
名称 | 描述 |
---|---|
__alloc_pages_slowpath |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |