Searched refs:lockref (Results 1 – 9 of 9) sorted by relevance
13 struct lockref old; \15 old.lock_count = READ_ONCE(lockref->lock_count); \17 struct lockref new = old; \19 if (likely(try_cmpxchg64_relaxed(&lockref->lock_count, \42 void lockref_get(struct lockref *lockref) in lockref_get() argument50 spin_lock(&lockref->lock); in lockref_get()51 lockref->count++; in lockref_get()52 spin_unlock(&lockref->lock); in lockref_get()61 int lockref_get_not_zero(struct lockref *lockref) in lockref_get_not_zero() argument73 spin_lock(&lockref->lock); in lockref_get_not_zero()[all …]
44 obj-y += lockref.o
25 struct lockref { struct37 extern void lockref_get(struct lockref *); argument38 extern int lockref_put_return(struct lockref *);39 extern int lockref_get_not_zero(struct lockref *);40 extern int lockref_put_not_zero(struct lockref *);41 extern int lockref_put_or_lock(struct lockref *);43 extern void lockref_mark_dead(struct lockref *);44 extern int lockref_get_not_dead(struct lockref *);47 static inline bool __lockref_is_dead(const struct lockref *l) in __lockref_is_dead()
100 struct lockref d_lockref; /* per-dentry lock and refcount
219 if (lockref_get_not_zero(&grp->lockref)) in erofs_workgroup_get()222 spin_lock(&grp->lockref.lock); in erofs_workgroup_get()223 if (__lockref_is_dead(&grp->lockref)) { in erofs_workgroup_get()224 spin_unlock(&grp->lockref.lock); in erofs_workgroup_get()228 if (!grp->lockref.count++) in erofs_workgroup_get()230 spin_unlock(&grp->lockref.lock); in erofs_workgroup_get()262 DBG_BUGON(grp->lockref.count < 1); in erofs_insert_workgroup()290 if (lockref_put_or_lock(&grp->lockref)) in erofs_workgroup_put()293 DBG_BUGON(__lockref_is_dead(&grp->lockref)); in erofs_workgroup_put()294 if (grp->lockref.count == 1) in erofs_workgroup_put()[all …]
567 spin_lock(&pcl->obj.lockref.lock); in z_erofs_bind_cache()570 spin_unlock(&pcl->obj.lockref.lock); in z_erofs_bind_cache()573 spin_unlock(&pcl->obj.lockref.lock); in z_erofs_bind_cache()629 spin_lock(&pcl->obj.lockref.lock); in z_erofs_cache_release_folio()630 if (pcl->obj.lockref.count <= 0) { in z_erofs_cache_release_folio()641 spin_unlock(&pcl->obj.lockref.lock); in z_erofs_cache_release_folio()692 spin_lock(&pcl->obj.lockref.lock); in z_erofs_attach_page()697 spin_unlock(&pcl->obj.lockref.lock); in z_erofs_attach_page()700 spin_unlock(&pcl->obj.lockref.lock); in z_erofs_attach_page()733 spin_lock_init(&pcl->obj.lockref.lock); in z_erofs_register_pcluster()[all …]
214 struct lockref lockref; member
339 struct lockref gl_lockref;443 struct lockref qd_lockref;
167 This uses the lockref primitive to provide both a spinlock and a