函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\compaction.c Create Date:2022-07-27 15:55:16
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称: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

函数原型:static bool compact_lock_irqsave(spinlock_t *lock, unsigned long *flags, struct compact_control *cc)

返回类型:bool

参数:

类型参数名称
spinlock_t *lock
unsigned long *flags
struct compact_control *cc
486  如果Async or sync migration mode 恒等于MIGRATE_ASYNC且非Signal lock or sched contention
487  如果spin_trylock_irqsave(lock, * flags)则返回:true
490  Signal lock or sched contention = true
493  spin_lock_irqsave(lock, * flags)
494  返回:true
调用者
名称描述
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