函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\migrate.c Create Date:2022-07-27 17:32:12
Last Modify:2022-05-20 09:53:13 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:isolate_movable_page

函数原型:int isolate_movable_page(struct page *page, isolate_mode_t mode)

返回类型:int

参数:

类型参数名称
struct page *page
isolate_mode_tmode
98  如果此条件成立可能性小(为编译器优化)(!Try to grab a ref unless the page has a refcount of zero, return false if* that is the case.* This can be called when MMU is off so it must not access* any of the virtual mappings.)则转到:out
106  如果此条件成立可能性小(为编译器优化)(!__PageMovable(page))则转到:out_putpage
119  如果此条件成立可能性小(为编译器优化)(!Return true if the page was successfully locked)则转到:out_putpage
122  如果非PageMovable(page)或PageIsolated(page)则转到:out_no_isolated
125  mapping等于page_mapping(page)
126  VM_BUG_ON_PAGE(!mapping, page)
128  如果非isolate_page(page, mode)则转到:out_no_isolated
132  WARN_ON_ONCE(PageIsolated(page))
133  __SetPageIsolated(page)
134  lock_page - unlock a locked page*@page: the page* Unlocks the page and wakes up sleepers in ___wait_on_page_locked().* Also wakes sleepers in wait_on_page_writeback() because the wakeup* mechanism between PageLocked pages and PageWriteback pages is shared.
136  返回:0
138  out_no_isolated :
139  lock_page - unlock a locked page*@page: the page* Unlocks the page and wakes up sleepers in ___wait_on_page_locked().* Also wakes sleepers in wait_on_page_writeback() because the wakeup* mechanism between PageLocked pages and PageWriteback pages is shared.
140  out_putpage :
141  Perform a free_page(), also freeing any swap cache associated with* this page if it is the last user of the page.
142  out :
143  返回:负EBUSY
调用者
名称描述
__soft_offline_page
isolate_migratepages_blocksolate_migratepages_block() - isolate all migrate-able pages within* a single pageblock*@cc: Compaction control structure.*@low_pfn: The first PFN to isolate*@end_pfn: The one-past-the-last PFN to isolate, within same pageblock