函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\swap.c Create Date:2022-07-27 15:37:24
Last Modify:2022-05-23 13:40:24 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:sed by __split_huge_page_refcount()

函数原型:void lru_add_page_tail(struct page *page, struct page *page_tail, struct lruvec *lruvec, struct list_head *list)

返回类型:void

参数:

类型参数名称
struct page *page
struct page *page_tail
struct lruvec *lruvec
struct list_head *list
891  file等于0
893  VM_BUG_ON_PAGE(!PageHead(page), page)
894  VM_BUG_ON_PAGE(PageCompound(page_tail), page)
895  VM_BUG_ON_PAGE(PageLRU(page_tail), page)
896  lockdep_assert_held( & Write-intensive fields used by page reclaim )
898  如果非listSetPageLRU(page_tail)
901  如果此条件成立可能性大(为编译器优化)(PageLRU(page))则添加链表项
903  否则如果list
905  get_page(page_tail)
906  添加链表项
907  否则
915  add_page_to_lru_list_tail(page_tail, lruvec, page_lru - which LRU list should a page be on?*@page: the page to test* Returns the LRU list a page should be on, as an index* into the array of LRU lists.)
919  如果非PageUnevictable(page)则update_page_reclaim_stat(lruvec, file, PageActive(page_tail))
调用者
名称描述
__split_huge_page_tail