函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\vmscan.c Create Date:2022-07-27 15:41:58
Last Modify:2022-05-23 13:41:30 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Attempt to remove the specified page from its LRU. Only take this page* if it is of the appropriate PageActive status. Pages which are being* freed elsewhere are also ignored.* returns 0 on success, -ve errno on failure.

函数原型:int __isolate_lru_page(struct page *page, isolate_mode_t mode)

返回类型:int

参数:

类型参数名称
struct page *page page to consider
isolate_mode_tmode one of the LRU isolation modes defined above
1541  ret等于负EINVAL
1544  如果非PageLRU( page to consider)则返回:ret
1548  如果PageUnevictable( page to consider)且非 one of the LRU isolation modes defined above按位与Isolate unevictable pages 的值则返回:ret
1551  ret等于负EBUSY
1561  如果 one of the LRU isolation modes defined above按位与Isolate for asynchronous migration
1563  如果Only test-and-set exist for PG_writeback. The unconditional operators are* risky: they bypass page accounting.则返回:ret
1566  如果PageDirty( page to consider)则
1583  migrate_dirty等于非mappingmigratepage
1585  如果非migrate_dirty则返回:ret
1590  如果 one of the LRU isolation modes defined above按位与Isolate unmapped pages page_mapped( page to consider)则返回:ret
1593  如果此条件成立可能性大(为编译器优化)(Try to grab a ref unless the page has a refcount of zero, return false if* that is the case.* This can be called when MMU is off so it must not access* any of the virtual mappings.)则
1599  ClearPageLRU( page to consider)
1600  ret等于0
1603  返回:ret
调用者
名称描述
isolate_lru_pagespgdat->lru_lock is heavily contended. Some of the functions that* shrink the lists perform better by taking out a batch of pages* and working on them outside the LRU lock.* For pagecache intensive workloads, this function is the hottest
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