函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |