diff options
author | Mateusz Guzik <mjg@FreeBSD.org> | 2021-01-25 20:17:48 +0000 |
---|---|---|
committer | Mateusz Guzik <mjg@FreeBSD.org> | 2021-01-25 22:40:15 +0000 |
commit | c09f7992714559eaa874f13ea4a1d648f199cd08 (patch) | |
tree | 034f89538ec1e505604433ce9220626d16b3d2ab | |
parent | 7af02ef0b222eebad4827a264454e85134692e94 (diff) |
tmpfs: drop acq fence now that vn_load_v_data_smr has consume semantics
-rw-r--r-- | sys/fs/tmpfs/tmpfs_subr.c | 3 | ||||
-rw-r--r-- | sys/fs/tmpfs/tmpfs_vnops.c | 1 |
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)) |