Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Compaction requires the taking of some coarse locks that are potentially* very heavily contended. For async compaction, trylock and record if the* lock is contended. The lock will still be acquired but compaction will

Proto:static bool compact_lock_irqsave(spinlock_t *lock, unsigned long *flags, struct compact_control *cc)

Type:bool

Parameter:

TypeParameterName
spinlock_t *lock
unsigned long *flags
struct compact_control *cc
486  If Async or sync migration mode == MIGRATE_ASYNC && Not Signal lock or sched contention Then
487  If spin_trylock_irqsave(lock, * flags) Then Return true
490  Signal lock or sched contention = true
493  spin_lock_irqsave(lock, * flags)
494  Return true
Caller
NameDescribe
isolate_freepages_blockIsolate free pages onto a private freelist. If @strict is true, will abort* returning 0 on any invalid PFNs or non-free pages inside of the pageblock* (even though it may still end up isolating some pages).
isolate_migratepages_blocksolate_migratepages_block() - isolate all migrate-able pages within* a single pageblock*@cc: Compaction control structure.*@low_pfn: The first PFN to isolate*@end_pfn: The one-past-the-last PFN to isolate, within same pageblock