函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:mem_cgroup_cancel_charge - cancel a page charge*@page: page to charge*@memcg: memcg to charge the page to*@compound: charge the page as compound or small page* Cancel a charge transaction started by mem_cgroup_try_charge().

函数原型:void mem_cgroup_cancel_charge(struct page *page, struct mem_cgroup *memcg, bool compound)

返回类型:void

参数:

类型参数名称
struct page *page
struct mem_cgroup *memcg
boolcompound
6454  nr_pages等于如果compoundhpage_nr_pages(page)否则1
6456  如果mem_cgroup_disabled()则返回
6463  如果非memcg则返回
6466  cancel_charge(memcg, nr_pages)
调用者
名称描述
wp_page_copyHandle the case of a page which we actually need to copy to a new page.* Called with mmap_sem locked and the old page referenced, but* without the ptl held.* High level logic flow:* - Allocate a page, copy the content of the old page to the new one.
do_swap_pageWe enter with non-exclusive mmap_sem (to exclude vma changes,* but allow concurrent faults), and pte mapped but not yet locked.* We return with pte unmapped and unlocked.* We return with the mmap_sem locked or unlocked in the same cases
do_anonymous_pageWe enter with non-exclusive mmap_sem (to exclude vma changes,* but allow concurrent faults), and pte mapped but not yet locked.* We return with mmap_sem still held, but pte unmapped and unlocked.
do_cow_fault
unuse_pteNo need to decide whether this PTE shares the swap entry with others,* just let do_wp_page work it out if a write is requested later - to* force COW, vm_page_prot omits write permission from any private vma.
__do_huge_pmd_anonymous_page
do_huge_pmd_wp_page_fallback
do_huge_pmd_wp_page
collapse_huge_page
mcopy_atomic_pte
__replace_page__replace_page - replace page in vma by new page
__add_to_page_cache_locked