Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\locking\qrwlock.c Create Date:2022-07-28 09:53:25
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:queued_write_lock_slowpath - acquire write lock of a queue rwlock*@lock : Pointer to queue rwlock structure

Proto:void queued_write_lock_slowpath(struct qrwlock *lock)

Type:void

Parameter:

TypeParameterName
struct qrwlock *lock
65  r sched/core.c and kernel_lock.c: ( & wait_lock)
68  If Not atomic_read( & cnts) && atomic_cmpxchg_acquire( & cnts, 0, A writer holds the lock ) == 0 Then Go to unlock
73  atomic_add(A writer is waiting , & cnts)
76  Do
77  atomic_cond_read_acquire( & cnts, VAL == A writer is waiting )
78  When atomic_cmpxchg_relaxed( & cnts, A writer is waiting , A writer holds the lock ) != A writer is waiting cycle
80  unlock :
81  arch_spin_unlock( & wait_lock)