Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:wake_up_page_bit

Proto:static void wake_up_page_bit(struct page *page, int bit_nr)

Type:void

Parameter:

TypeParameterName
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  Initialization list head
1071  spin_lock_irqsave( & lock, flags)
1072  __wake_up_locked_key_bookmark(q, Convenience macros for the sake of wake_up(): , & key, & bookmark)
1074  When flags & WQ_FLAG_BOOKMARK cycle
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  If Not 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_ || Not page_match Then
1097  ClearPageWaiters(page)
1106  spin_unlock_irqrestore( & lock, flags)
Caller
NameDescribe
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.