Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:unaccount_page_cache_page

Proto:static void unaccount_page_cache_page(struct address_space *mapping, struct page *page)

Type:void

Parameter:

TypeParameterName
struct address_space *mapping
struct page *page
166  If PageUptodate(page) && PageMappedToDisk(page) Then cleancache_put_page(page)
168  Else cleancache_invalidate_page(mapping, page)
171  VM_BUG_ON_PAGE(PageTail(page), page)
172  VM_BUG_ON_PAGE(page_mapped(page), page)
173  If Not IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',* 0 otherwise.(CONFIG_DEBUG_VM) && Value for the false possibility is greater at compile time(page_mapped(page)) Then
176  pr_alert("BUG: Bad page cache in process %s pfn:%05lx\n", comm, page_to_pfn(page))
178  dump_page(page, "still mapped when deleted")
179  dump_stack()
180  add_taint: add a taint flag if not already set.*@flag: one of the TAINT_* constants.*@lockdep_ok: whether lock debugging is still OK.* If something bad has gone wrong, you'll want @lockdebug_ok = false, but for
182  mapcount = page_mapcount(page)
183  If mapping_exiting(mapping) && page_count(page) >= mapcount + 2 Then
197  If PageHuge(page) Then Return
200  nr = hpage_nr_pages(page)
202  __mod_node_page_state(page_pgdat(page), NR_FILE_PAGES, - nr)
203  If PageSwapBacked(page) Then
204  __mod_node_page_state(page_pgdat(page), NR_SHMEM, - nr)
205  If 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 Then __dec_node_page_state(page, NR_SHMEM_THPS)
207  Else if 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 Then
208  __dec_node_page_state(page, NR_FILE_THPS)
209  filemap_nr_thps_dec(mapping)
222  If WARN_ON_ONCE(PageDirty(page)) Then account_page_cleaned(page, mapping, inode_to_wb(host))
Caller
NameDescribe
__delete_from_page_cacheDelete a page from the page cache and free it. Caller has to make* sure the page is locked and that nobody else uses it - or that usage* is safe. The caller must hold the i_pages lock.
delete_from_page_cache_batch