Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\sched\core.c Create Date:2022-07-28 09:35:30
Last Modify:2022-05-22 13:40:38 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:wake_up_q

Proto:void wake_up_q(struct wake_q_head *head)

Type:void

Parameter:

TypeParameterName
struct wake_q_head *head
481  node = first
483  When node != WAKE_Q_TAIL cycle
486  task = container_of - cast a member of a structure out to the containing structure*@ptr: the pointer to the member.*@type: the type of the container struct this is embedded in.*@member: the name of the member within the struct.(node, structtask_struct, wake_q)
487  BUG_ON(!task)
489  node = next
490  next = NULL
496  wake_up_process - Wake up a specific process*@p: The process to be woken up.* Attempt to wake up the nominated process and move it to the set of runnable* processes.* Return: 1 if the process was woken up, 0 if it was already running.
497  put_task_struct(task)
Caller
NameDescribe
__mutex_unlock_slowpath
rwsem_down_read_slowpathWait for the read lock to be granted
rwsem_down_write_slowpathWait until we successfully acquire the write lock
rwsem_wakehandle waking up a waiter on the semaphore* - up_read/up_write has decremented the active part of count if we come here
rwsem_downgrade_wakedowngrade a write lock into a read lock* - caller incremented waiting part of count and discovered it still negative* - just wake up any readers at the front of the queue
rt_mutex_postunlockPerforms the wakeup of the the top-waiter and re-enables preemption.
futex_wakeWake up waiters matching bitset queued on this futex (uaddr).
futex_wake_opWake up all waiters hashed on the physical page that is mapped* to this virtual address:
futex_requeueex_requeue() - Requeue waiters from uaddr1 to uaddr2*@uaddr1: source futex user address*@flags: futex flags (FLAGS_SHARED, etc
cpu_stop_queue_workqueue @work to @stopper. if offline, @work is completed immediately
cpu_stop_queue_two_works
msgctl_downThis function handles some msgctl commands which require the rwsem* to be held in write mode.* NOTE: no locks must be held, the rwsem is taken inside this function.
do_msgsnd
do_msgrcv
freearyFree a semaphore set. freeary() is called with sem_ids.rwsem locked* as a writer and the spinlock for this semaphore set hold. sem_ids.rwsem* remains locked on exit.
semctl_setval
semctl_main
do_semtimedop
exit_semadd semadj values to semaphores, free undo structures
do_mq_timedsend
do_mq_timedreceive