Function report |
Source Code:mm\page_alloc.c |
Create Date:2022-07-28 15:05:50 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name: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
Proto: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)
Type:bool
Parameter:
| Type | Parameter | Name |
|---|---|---|
| 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 | Else 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 | If wmark Then |
| 4324 | If Not did_some_progress Then |
| 4330 | If 2 * write_pending > reclaimable Then |
| 4336 | ret = true |
| 4337 | Go to out |
| 4341 | out : |
| 4349 | If flags & I'm a workqueue worker Then schedule_timeout_uninterruptible(1) |
| 4351 | Else cond_resched() |
| 4353 | Return ret |
| Name | Describe |
|---|---|
| __alloc_pages_slowpath |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |