函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:uncharge_page

函数原型:static void uncharge_page(struct page *page, struct uncharge_gather *ug)

返回类型:void

参数:

类型参数名称
struct page *page
struct uncharge_gather *ug
6515  VM_BUG_ON_PAGE(PageLRU(page), page)
6516  VM_BUG_ON_PAGE(page_count(page) && !is_zone_device_page(page) && !PageHWPoison(page), page)
6519  如果非mem_cgroup则返回
6528  如果memcg不等于mem_cgroup
6529  如果memcg
6530  uncharge_batch(ug)
6533  memcg等于mem_cgroup
6536  如果非If kmemcg is enabled, the buddy allocator will set PageKmemcg() on* pages allocated with __GFP_ACCOUNT. It gets cleared on page free.
6537  nr_pages等于1
6541  nr_huge加等于nr_pages
6543  如果PageAnon(page)则nr_anon加等于nr_pages
6545  否则
6546  nr_file加等于nr_pages
6547  如果PageSwapBacked(page)则nr_shmem加等于nr_pages
6550  pgpgout自加
6551  否则
6552  nr_kmem加等于Returns the number of pages in this potentially compound page.
6553  If kmemcg is enabled, the buddy allocator will set PageKmemcg() on* pages allocated with __GFP_ACCOUNT. It gets cleared on page free.
6556  dummy_page等于page
6557  mem_cgroup = NULL
调用者
名称描述
uncharge_list
mem_cgroup_unchargemem_cgroup_uncharge - uncharge a page*@page: page to uncharge* Uncharge a page previously charged with mem_cgroup_try_charge() and* mem_cgroup_commit_charge().