函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:do_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

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

返回类型:void

参数:

类型参数名称
struct sem_array *sma
struct sembuf *sops
intnsops
intotime
struct wake_q_head *wake_q
1015  otime或等于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
1017  如果非链表为空
1019  otime或等于pdate_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
1020  否则
1021  如果非sops
1028  否则
1038 i小于nsops循环
1046  如果otimeset_semotime - set sem_otime*@sma: semaphore array*@sops: operations that modified the array, may be NULL* sem_otime is replicated to avoid cache line trashing.* This function sets one instance to the current time.
调用者
名称描述
semctl_setval
semctl_main
do_semtimedop
exit_semadd semadj values to semaphores, free undo structures