Function report |
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 activity | Download SCCT | Chinese |
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:
Type | Parameter | Name |
---|---|---|
struct qrwlock * | 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) |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |