On Fri, 1 Nov 2024 at 14:07, Boqun Feng [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Memory barriers are building blocks for concurrent code, hence provide
a minimal set of them.
The compiler barrier, barrier(), is implemented in inline asm instead of
using core::sync::atomic::compiler_fence() because memory models are
different: kernel's atomics are implemented in inline asm therefore the
compiler barrier should be implemented in inline asm as well.
Signed-off-by: Boqun Feng <redacted>
---
rust/helpers/helpers.c | 1 +
rust/kernel/sync.rs | 1 +
rust/kernel/sync/barrier.rs | 67 +++++++++++++++++++++++++++++++++++++
3 files changed, 69 insertions(+)
create mode 100644 rust/kernel/sync/barrier.rs
diff --git a/rust/helpers/helpers.c b/rust/helpers/helpers.c
index ab5a3f1be241..f4a94833b29d 100644
--- a/rust/helpers/helpers.c
+++ b/rust/helpers/helpers.c
@@ -8,6 +8,7 @@
*/
#include "atomic.c"
+#include "barrier.c"
It looks like "barrier.c" is missing, so this isn't compiling for me.
I assume it was meant to be added in this patch...?
Thanks,
-- David