函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:wake_up_page_bit

函数原型:static void wake_up_page_bit(struct page *page, int bit_nr)

返回类型:void

参数:

类型参数名称
struct page *page
intbit_nr
1057  q等于page_waitqueue(page)
1062  page等于page
1063  bit_nr等于bit_nr
1064  page_match等于0
1066  flags等于0
1067  private = NULL
1068  func = NULL
1069  初始化链表头
1071  spin_lock_irqsave( & lock, flags)
1072  __wake_up_locked_key_bookmark(q, Convenience macros for the sake of wake_up(): , & key, & bookmark)
1074 flags按位与WQ_FLAG_BOOKMARK循环
1081  spin_unlock_irqrestore( & lock, flags)
1082  cpu_relax()
1083  spin_lock_irqsave( & lock, flags)
1084  __wake_up_locked_key_bookmark(q, Convenience macros for the sake of wake_up(): , & key, & bookmark)
1096  如果非waitqueue_active -- locklessly test for waiters on the queue*@wq_head: the waitqueue to test for waiters* returns true if the wait list is not empty* NOTE: this function is lockless and requires care, incorrect usage _will_或非page_match
1097  ClearPageWaiters(page)
1106  spin_unlock_irqrestore( & lock, flags)
调用者
名称描述
wake_up_page
unlock_pagelock_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.