函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\mlock.c Create Date:2022-07-27 16:12:55
Last Modify:2022-05-23 14:12:58 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Mark page as mlocked if not already.* If page on LRU, isolate and putback to move to unevictable list.

函数原型:void mlock_vma_page(struct page *page)

返回类型:void

参数:

类型参数名称
struct page *page
91  BUG_ON(!PageLocked(page))
93  VM_BUG_ON_PAGE(PageTail(page), page)
94  VM_BUG_ON_PAGE(PageCompound(page) && PageDoubleMap indicates that the compound page is mapped with PTEs as well* as PMDs.* This is required for optimization of rmap operations for THP: we can postpone* per small page mapcount accounting (and its overhead from atomic operations), page)
96  如果非TestSetPageMlocked(page)则
97  mod_zone_page_state(page_zone(page), mlock()ed pages found and moved off LRU , hpage_nr_pages(page))
99  Disable counters
100  如果非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.putback_lru_page - put previously isolated page onto appropriate LRU list*@page: page to be put back to appropriate lru list* Add previously isolated @page to appropriate LRU list.* Page may still be unevictable for other reasons.
调用者
名称描述
try_to_unmap_one@arg: enum ttu_flags will be passed to this argument
try_to_merge_one_pagery_to_merge_one_page - take two pages and merge them into one*@vma: the vma that holds the pte pointing to page*@page: the PageAnon page that we want to replace with kpage*@kpage: the PageKsm page that we want to map instead of page,
remove_migration_pteRestore a potential migration pte to a working pte entry
follow_trans_huge_pmd
follow_page_pte