mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-24 18:39:34 +03:00
Micro-optimize zrl_remove()
atomic_dec_32() should be a bit lighter than atomic_dec_32_nv(). Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de> Reviewed-by: Richard Yao <richard.yao@alumni.stonybrook.edu> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Alexander Motin <mav@FreeBSD.org> Closes #14200
This commit is contained in:
parent
e996c502e4
commit
f0a76fbec1
@ -106,16 +106,16 @@ zrl_add_impl(zrlock_t *zrl, const char *zc)
|
||||
void
|
||||
zrl_remove(zrlock_t *zrl)
|
||||
{
|
||||
uint32_t n;
|
||||
|
||||
#ifdef ZFS_DEBUG
|
||||
if (zrl->zr_owner == curthread) {
|
||||
zrl->zr_owner = NULL;
|
||||
zrl->zr_caller = NULL;
|
||||
}
|
||||
int32_t n = atomic_dec_32_nv((uint32_t *)&zrl->zr_refcount);
|
||||
ASSERT3S(n, >=, 0);
|
||||
#else
|
||||
atomic_dec_32((uint32_t *)&zrl->zr_refcount);
|
||||
#endif
|
||||
n = atomic_dec_32_nv((uint32_t *)&zrl->zr_refcount);
|
||||
ASSERT3S((int32_t)n, >=, 0);
|
||||
}
|
||||
|
||||
int
|
||||
|
Loading…
Reference in New Issue
Block a user