Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\page_alloc.c Create Date:2022-07-28 15:04:29
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Used when an allocation is about to fail under memory pressure

Proto:static bool unreserve_highatomic_pageblock(const struct alloc_context *ac, bool force)

Type:bool

Parameter:

TypeParameterName
const struct alloc_context *ac
boolforce
2547  zonelist = zonelist
2561  If Not force && nr_reserved_highatomic <= pageblock_nr_pages Then Continue
2565  spin_lock_irqsave( & Primarily protects free_area , flags)
2566  When order < Free memory management - zoned buddy allocator. cycle
2567  area = & Write-intensive fields used from the page allocator [order]
2569  page = get_page_from_free_area(area, MIGRATE_HIGHATOMIC)
2570  If Not page Then Continue
2602  set_pageblock_migratetype(page, migratetype)
2603  ret = move_freepages_block(zone, page, migratetype, NULL)
2605  If ret Then
2607  Return ret
2610  spin_unlock_irqrestore( & Primarily protects free_area , flags)
2613  Return false
Caller
NameDescribe
__alloc_pages_direct_reclaimThe really slow allocator path where we enter direct reclaim
should_reclaim_retryChecks 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