aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMateusz Guzik <mjg@FreeBSD.org>2021-01-25 20:17:48 +0000
committerMateusz Guzik <mjg@FreeBSD.org>2021-01-25 22:40:15 +0000
commitc09f7992714559eaa874f13ea4a1d648f199cd08 (patch)
tree034f89538ec1e505604433ce9220626d16b3d2ab
parent7af02ef0b222eebad4827a264454e85134692e94 (diff)
tmpfs: drop acq fence now that vn_load_v_data_smr has consume semantics
-rw-r--r--sys/fs/tmpfs/tmpfs_subr.c3
-rw-r--r--sys/fs/tmpfs/tmpfs_vnops.c1
2 files changed, 0 insertions, 4 deletions
diff --git a/sys/fs/tmpfs/tmpfs_subr.c b/sys/fs/tmpfs/tmpfs_subr.c
index 3b3581fc81f6..84473a439c43 100644
--- a/sys/fs/tmpfs/tmpfs_subr.c
+++ b/sys/fs/tmpfs/tmpfs_subr.c
@@ -356,9 +356,6 @@ tmpfs_alloc_node(struct mount *mp, struct tmpfs_mount *tmp, enum vtype type,
* pointer to also get the above content in a stable manner.
* Worst case tn_link_smr flag may be set to true despite being stale,
* while the target buffer is already cleared out.
- *
- * TODO: Since there is no load consume primitive provided
- * right now, the load is performed with an acquire fence.
*/
atomic_store_ptr(&nnode->tn_link_target, symlink);
atomic_store_char((char *)&nnode->tn_link_smr, symlink_smr);
diff --git a/sys/fs/tmpfs/tmpfs_vnops.c b/sys/fs/tmpfs/tmpfs_vnops.c
index c716b393efdd..7614287c642e 100644
--- a/sys/fs/tmpfs/tmpfs_vnops.c
+++ b/sys/fs/tmpfs/tmpfs_vnops.c
@@ -1466,7 +1466,6 @@ tmpfs_fplookup_symlink(struct vop_fplookup_symlink_args *v)
vp = v->a_vp;
node = VP_TO_TMPFS_NODE_SMR(vp);
- atomic_thread_fence_acq();
if (__predict_false(node == NULL))
return (EAGAIN);
if (!atomic_load_char(&node->tn_link_smr))