On Fri, Nov 01, 2024 at 02:55:23PM +0800, David Gow wrote: > On Fri, 1 Nov 2024 at 14:07, Boqun Feng <boqun.feng@xxxxxxxxx> wrote: > > > > 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 <boqun.feng@xxxxxxxxx> > > --- > > 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...? > Yes, I just send an updated one. Glad being "checking missing files" buddies with you ;-) Thanks! Regards, Boqun > Thanks, > -- David