Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\swap.c Create Date:2022-07-28 14:13:22
Last Modify:2022-05-23 13:40:24 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:If the page can not be invalidated, it is moved to the* inactive list to speed up its reclaim. It is moved to the* head of the list, rather than the tail, to give the flusher* threads some time to write it out, as this is much more

Proto:static void lru_deactivate_file_fn(struct page *page, struct lruvec *lruvec, void *arg)

Type:void

Parameter:

TypeParameterName
struct page *page
struct lruvec *lruvec
void *arg
507  If Not PageLRU(page) Then Return
510  If PageUnevictable(page) Then Return
514  If page_mapped(page) Then Return
517  active = PageActive(page)
518  file = page_is_file_cache - should the page be on a file LRU or anon LRU?*@page: the page to test* Returns 1 if @page is page cache page backed by a regular filesystem,* or 0 if @page is anonymous, tmpfs or otherwise ram or swap backed
519  lru = page_lru_base_type - which LRU list type should a page be on?*@page: the page to test* Used for LRU list index arithmetic.* Returns the base LRU type - file or anon - @page should be on.
521  del_page_from_lru_list(page, lruvec, lru + active)
522  ClearPageActive(page)
523  ClearPageReferenced(page)
525  If Only test-and-set exist for PG_writeback. The unconditional operators are* risky: they bypass page accounting. || PageDirty(page) Then
531  add_page_to_lru_list(page, lruvec, lru)
532  PG_readahead is only used for reads; PG_reclaim is only for writes
533  Else
538  add_page_to_lru_list_tail(page, lruvec, lru)
539  __count_vm_event(PGROTATED)
542  If active Then __count_vm_event(PGDEACTIVATE)
544  update_page_reclaim_stat(lruvec, file, 0)