函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:ry_to_release_page() - release old fs-specific metadata on a page*@page: the page which the kernel is trying to free*@gfp_mask: memory allocation flags (and I/O mode)* The address_space is to try to release any data against the page

函数原型:int try_to_release_page(struct page *page, gfp_t gfp_mask)

返回类型:int

参数:

类型参数名称
struct page *page
gfp_tgfp_mask
3498  mapping等于 See page-flags.h for PAGE_MAPPING_FLAGS
3500  BUG_ON(!PageLocked(page))
3501  如果Only test-and-set exist for PG_writeback. The unconditional operators are* risky: they bypass page accounting.则返回:0
3504  如果mappingreleasepage则返回:releasepage(page, gfp_mask)
3506  返回:try_to_free_buffers(page)
调用者
名称描述
invalidate_complete_pageThis is for invalidate_mapping_pages(). That function can be called at* any time, and is not supposed to throw away dirty pages. But pages can* be marked dirty at any time too, so use remove_mapping which safely* discards clean, unused pages.
invalidate_complete_page2This is like invalidate_complete_page(), except it ignores the page's* refcount
shrink_page_listshrink_page_list() returns the number of reclaimed pages
shrink_active_list
fallback_migrate_pageDefault handling if a filesystem does not provide a migration function.
truncate_error_page
block_invalidatepagelock_invalidatepage - invalidate part or all of a buffer-backed page*@page: the page which is affected*@offset: start of the range to invalidate*@length: length of the range to invalidate* block_invalidatepage() is called when all or part of the page has
page_cache_pipe_buf_stealAttempt to steal a page from a pipe buffer. This should perhaps go into* a vm helper function, it's already simplified quite a bit by the* addition of remove_mapping(). If success is returned, the caller may