函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:deferred_split_huge_page

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

返回类型:void

参数:

类型参数名称
struct page *page
2854  ds_queue等于get_deferred_split_queue(page)
2856  memcg等于mem_cgroup
2860  VM_BUG_ON_PAGE(!PageHuge() only returns true for hugetlbfs pages, but not for* normal or transparent huge pages.* PageTransHuge() returns true for both transparent huge and* hugetlbfs pages, but not normal pages. PageTransHuge() can only be, page)
2872  如果PageSwapCache(page)则返回
2875  spin_lock_irqsave( & split_queue_lock, flags)
2876  如果链表为空
2877  Disable counters
2878  添加链表项
2879  split_queue_len自加
2881  如果memcgmemcg_set_shrinker_bit(memcg, page_to_nid(page), ID in shrinker_idr )
2886  spin_unlock_irqrestore( & split_queue_lock, flags)
调用者
名称描述
page_remove_rmappage_remove_rmap - take down pte mapping from a page*@page: page to remove mapping from*@compound: uncharge the page as compound or small page* The caller needs to hold the pte lock.
page_remove_anon_compound_rmap