svn commit: r366069 - head/sys/kern
Mateusz Guzik
mjg at FreeBSD.org
Wed Sep 23 10:42:42 UTC 2020
Author: mjg
Date: Wed Sep 23 10:42:41 2020
New Revision: 366069
URL: https://svnweb.freebsd.org/changeset/base/366069
Log:
cache: clean up atomic ops on numneg and numcache
- use subtract instead of adding -1
- drop the useless _rel fence
Note this should be converted to a scalable scheme.
Modified:
head/sys/kern/vfs_cache.c
Modified: head/sys/kern/vfs_cache.c
==============================================================================
--- head/sys/kern/vfs_cache.c Wed Sep 23 09:59:06 2020 (r366068)
+++ head/sys/kern/vfs_cache.c Wed Sep 23 10:42:41 2020 (r366069)
@@ -841,7 +841,7 @@ cache_negative_insert(struct namecache *ncp)
mtx_lock(&neglist->nl_lock);
TAILQ_INSERT_TAIL(&neglist->nl_list, ncp, nc_dst);
mtx_unlock(&neglist->nl_lock);
- atomic_add_rel_long(&numneg, 1);
+ atomic_add_long(&numneg, 1);
}
static void
@@ -887,7 +887,7 @@ cache_negative_remove(struct namecache *ncp)
mtx_unlock(&neglist->nl_lock);
if (hot_locked)
mtx_unlock(&ncneg_hot.nl_lock);
- atomic_subtract_rel_long(&numneg, 1);
+ atomic_subtract_long(&numneg, 1);
}
static void
@@ -1030,7 +1030,7 @@ cache_zap_locked(struct namecache *ncp)
counter_u64_add(numcachehv, -1);
}
}
- atomic_subtract_rel_long(&numcache, 1);
+ atomic_subtract_long(&numcache, 1);
}
static void
@@ -1959,7 +1959,7 @@ cache_enter_time(struct vnode *dvp, struct vnode *vp,
*/
lnumcache = atomic_fetchadd_long(&numcache, 1) + 1;
if (__predict_false(lnumcache >= ncsize)) {
- atomic_add_long(&numcache, -1);
+ atomic_subtract_long(&numcache, 1);
counter_u64_add(numdrops, 1);
return;
}
@@ -2125,7 +2125,7 @@ cache_enter_time(struct vnode *dvp, struct vnode *vp,
return;
out_unlock_free:
cache_enter_unlock(&cel);
- atomic_add_long(&numcache, -1);
+ atomic_subtract_long(&numcache, 1);
cache_free(ncp);
return;
}
More information about the svn-src-all
mailing list