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));