函数逻辑报告 |
Source Code:mm\vmscan.c |
Create Date:2022-07-27 15:41:58 |
Last Modify:2022-05-23 13:41:30 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称: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_t | mode | one of the LRU isolation modes defined above |
1544 | 如果非PageLRU( page to consider)则返回:ret |
1548 | 如果PageUnevictable( page to consider)且非 one of the LRU isolation modes defined above按位与Isolate unevictable pages 的值则返回:ret |
1563 | 如果Only test-and-set exist for PG_writeback. The unconditional operators are* risky: they bypass page accounting.则返回:ret |
1566 | 如果PageDirty( page to consider)则 |
1582 | mapping等于page_mapping( page to consider) |
1583 | migrate_dirty等于非mapping或migratepage |
1585 | 如果非migrate_dirty则返回:ret |
1590 | 如果 one of the LRU isolation modes defined above按位与Isolate unmapped pages 且page_mapped( page to consider)则返回:ret |
1599 | ClearPageLRU( page to consider) |
1600 | ret等于0 |
1603 | 返回:ret |
名称 | 描述 |
---|---|
isolate_lru_pages | pgdat->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_block | solate_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 |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |