Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\huge_memory.c Create Date:2022-07-28 16:03:20
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:deferred_split_huge_page

Proto:void deferred_split_huge_page(struct page *page)

Type:void

Parameter:

TypeParameterName
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  If PageSwapCache(page) Then Return
2875  spin_lock_irqsave( & split_queue_lock, flags)
2876  If list_empty - tests whether a list is empty*@head: the list to test. Then
2877  Disable counters
2878  list_add_tail - add a new entry*@new: new entry to be added*@head: list head to add it before* Insert a new entry before the specified head.* This is useful for implementing queues.
2879  split_queue_len++
2881  If memcg Then memcg_set_shrinker_bit(memcg, page_to_nid(page), ID in shrinker_idr )
2886  spin_unlock_irqrestore( & split_queue_lock, flags)
Caller
NameDescribe
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.