Module Name: src
Committed By: riastradh
Date: Sun Dec 19 12:25:20 UTC 2021
Modified Files:
src/sys/external/bsd/common/include/asm: barrier.h
Log Message:
linux: For uniprocessor, define smp_*mb as __insn_barrier.
Otherwise ordering might not be guaranteed in the event of
preemption.
XXX pullup
To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/external/bsd/common/include/asm/barrier.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/common/include/asm/barrier.h
diff -u src/sys/external/bsd/common/include/asm/barrier.h:1.10 src/sys/external/bsd/common/include/asm/barrier.h:1.11
--- src/sys/external/bsd/common/include/asm/barrier.h:1.10 Sun Dec 19 12:25:11 2021
+++ src/sys/external/bsd/common/include/asm/barrier.h Sun Dec 19 12:25:20 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: barrier.h,v 1.10 2021/12/19 12:25:11 riastradh Exp $ */
+/* $NetBSD: barrier.h,v 1.11 2021/12/19 12:25:20 riastradh Exp $ */
/*-
* Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -62,9 +62,9 @@
# define smp_wmb membar_producer
# define smp_rmb membar_consumer
#else
-# define smp_mb() do {} while (0)
-# define smp_wmb() do {} while (0)
-# define smp_rmb() do {} while (0)
+# define smp_mb() __insn_barrier()
+# define smp_wmb() __insn_barrier()
+# define smp_rmb() __insn_barrier()
#endif
#if defined(MULTIPROCESSOR) && !defined(__HAVE_ATOMIC_AS_MEMBAR)