函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:solate_lru_page - tries to isolate a page from its LRU list*@page: page to isolate from its LRU list* Isolates a @page from an LRU list, clears PageLRU and adjusts the* vmstat statistic corresponding to whatever LRU list the page was on.

函数原型:int isolate_lru_page(struct page *page)

返回类型:int

参数:

类型参数名称
struct page *page
1763  ret等于负EBUSY
1765  VM_BUG_ON_PAGE(!page_count(page), page)
1766  WARN_RATELIMIT(PageTail(page), "trying to isolate tail page")
1768  如果PageLRU(page)则
1769  pgdat等于page_pgdat(page)
1772  spin_lock_irq( & Write-intensive fields used by page reclaim )
1773  lruvec等于mem_cgroup_page_lruvec(page, pgdat)
1774  如果PageLRU(page)则
1776  get_page(page)
1777  ClearPageLRU(page)
1779  ret等于0
1781  spin_unlock_irq( & Write-intensive fields used by page reclaim )
1783  返回:ret
调用者
名称描述
check_and_migrate_cma_pages
clear_page_mlockLRU accounting for clear_page_mlock()
mlock_vma_pageMark page as mlocked if not already.* If page on LRU, isolate and putback to move to unevictable list.
madvise_cold_or_pageout_pte_range
migrate_page_add
add_page_for_migrationResolves the given address to a struct page, isolates it from the LRU and* puts it to the given pagelist
__collapse_huge_page_isolate
mem_cgroup_move_charge_pte_range
delete_from_lru_cacheXXX: It is possible that a page is isolated from LRU cache,* and then kept in swap cache or failed to remove from page cache.* The page count will stop it from being freed by unpoison.* Stress tests should be aware of this memory leak problem.
__soft_offline_page