Module Name: src
Committed By: riastradh
Date: Fri Feb 24 11:03:01 UTC 2023
Modified Files:
src/sys/net/npf: npf_nat.c npf_rproc.c npf_tableset.c
Log Message:
npf: Eliminate __HAVE_ATOMIC_AS_MEMBAR conditionals.
Discussed on tech-kern:
https://mail-index.netbsd.org/tech-kern/2023/02/23/msg028729.html
Requested by rmind@:
https://github.com/rmind/npf/pull/127#issuecomment-1399573125
To generate a diff of this commit:
cvs rdiff -u -r1.52 -r1.53 src/sys/net/npf/npf_nat.c
cvs rdiff -u -r1.22 -r1.23 src/sys/net/npf/npf_rproc.c
cvs rdiff -u -r1.41 -r1.42 src/sys/net/npf/npf_tableset.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/net/npf/npf_nat.c
diff -u src/sys/net/npf/npf_nat.c:1.52 src/sys/net/npf/npf_nat.c:1.53
--- src/sys/net/npf/npf_nat.c:1.52 Sat Apr 9 23:38:33 2022
+++ src/sys/net/npf/npf_nat.c Fri Feb 24 11:03:01 2023
@@ -67,7 +67,7 @@
#ifdef _KERNEL
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: npf_nat.c,v 1.52 2022/04/09 23:38:33 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: npf_nat.c,v 1.53 2023/02/24 11:03:01 riastradh Exp $");
#include <sys/param.h>
#include <sys/types.h>
@@ -279,15 +279,11 @@ npf_natpolicy_release(npf_natpolicy_t *n
{
KASSERT(atomic_load_relaxed(&np->n_refcnt) > 0);
-#ifndef __HAVE_ATOMIC_AS_MEMBAR
membar_release();
-#endif
if (atomic_dec_uint_nv(&np->n_refcnt) != 0) {
return;
}
-#ifndef __HAVE_ATOMIC_AS_MEMBAR
membar_acquire();
-#endif
KASSERT(LIST_EMPTY(&np->n_nat_list));
mutex_destroy(&np->n_lock);
kmem_free(np, sizeof(npf_natpolicy_t));
Index: src/sys/net/npf/npf_rproc.c
diff -u src/sys/net/npf/npf_rproc.c:1.22 src/sys/net/npf/npf_rproc.c:1.23
--- src/sys/net/npf/npf_rproc.c:1.22 Sat Apr 9 23:38:33 2022
+++ src/sys/net/npf/npf_rproc.c Fri Feb 24 11:03:01 2023
@@ -33,7 +33,7 @@
#ifdef _KERNEL
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: npf_rproc.c,v 1.22 2022/04/09 23:38:33 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: npf_rproc.c,v 1.23 2023/02/24 11:03:01 riastradh Exp $");
#include <sys/param.h>
#include <sys/types.h>
@@ -330,15 +330,12 @@ npf_rproc_release(npf_rproc_t *rp)
{
KASSERT(atomic_load_relaxed(&rp->rp_refcnt) > 0);
-#ifndef __HAVE_ATOMIC_AS_MEMBAR
membar_release();
-#endif
if (atomic_dec_uint_nv(&rp->rp_refcnt) != 0) {
return;
}
-#ifndef __HAVE_ATOMIC_AS_MEMBAR
membar_acquire();
-#endif
+
/* XXXintr */
for (unsigned i = 0; i < rp->rp_ext_count; i++) {
npf_ext_t *ext = rp->rp_ext[i];
Index: src/sys/net/npf/npf_tableset.c
diff -u src/sys/net/npf/npf_tableset.c:1.41 src/sys/net/npf/npf_tableset.c:1.42
--- src/sys/net/npf/npf_tableset.c:1.41 Mon Jan 23 13:40:04 2023
+++ src/sys/net/npf/npf_tableset.c Fri Feb 24 11:03:01 2023
@@ -46,7 +46,7 @@
#ifdef _KERNEL
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: npf_tableset.c,v 1.41 2023/01/23 13:40:04 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: npf_tableset.c,v 1.42 2023/02/24 11:03:01 riastradh Exp $");
#include <sys/param.h>
#include <sys/types.h>
@@ -160,14 +160,10 @@ npf_tableset_destroy(npf_tableset_t *ts)
if (t == NULL)
continue;
-#ifndef __HAVE_ATOMIC_AS_MEMBAR
membar_release();
-#endif
if (atomic_dec_uint_nv(&t->t_refcnt) > 0)
continue;
-#ifndef __HAVE_ATOMIC_AS_MEMBAR
membar_acquire();
-#endif
npf_table_destroy(t);
}
kmem_free(ts, NPF_TABLESET_SIZE(ts->ts_nitems));