函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:do_smart_wakeup_zero - wakeup all wait for zero tasks*@sma: semaphore array*@sops: operations that were performed*@nsops: number of operations*@wake_q: lockless wake-queue head* Checks all required queue for wait-for-zero operations, based

函数原型:static int do_smart_wakeup_zero(struct sem_array *sma, struct sembuf *sops, int nsops, struct wake_q_head *wake_q)

返回类型:int

参数:

类型参数名称
struct sem_array *sma
struct sembuf *sops
intnsops
struct wake_q_head *wake_q
878  semop_completed等于0
879  got_zero等于0
882  如果sops
883 i小于nsops循环
886  如果current value 恒等于0则
891  否则
897  如果current value 恒等于0则
907  如果got_zerosemop_completed或等于wake_const_ops - wake up non-alter tasks*@sma: semaphore array.*@semnum: semaphore that was modified.*@wake_q: lockless wake-queue head.* wake_const_ops must be called after a semaphore in a semaphore array* was set to 0
910  返回:semop_completed
调用者
名称描述
update_queuepdate_queue - look for tasks that can be completed.*@sma: semaphore array.*@semnum: semaphore that was modified.*@wake_q: lockless wake-queue head.* update_queue must be called after a semaphore in a semaphore array* was modified
do_smart_updatedo_smart_update - optimized update_queue*@sma: semaphore array*@sops: operations that were performed*@nsops: number of operations*@otime: force setting otime*@wake_q: lockless wake-queue head* do_smart_update() does the required calls to update_queue and