函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:downgrade write lock to read lock

函数原型:static inline void __downgrade_write(struct rw_semaphore *sem)

返回类型:void

参数:

类型参数名称
struct rw_semaphore *sem
1482  tmp等于atomic_long_fetch_add_release( - On 64-bit architectures, the bit definitions of the count are:* Bit 0 - writer locked bit* Bit 1 - waiters present bit* Bit 2 - lock handoff bit* Bits 3-7 - reserved* Bits 8-62 - 55-bit reader count* Bit 63 - read fail bit* On 32-bit architectures, the + RWSEM_READER_BIAS, & count)
1484  rwsem_set_reader_owned(sem)
1485  如果tmp按位与RWSEM_FLAG_WAITERSdowngrade 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
调用者
名称描述
downgrade_writedowngrade write lock to read lock