Re: [RFC v2 11/13] rust: sync: Add memory barriers
David Gow <[email protected]>
| Newsgroups | dev.linux.lists.lkmm,dev.linux.lists.llvm,org.infradead.lists.linux-riscv,org.kernel.vger.linux-arch,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.rcu,org.kernel.vger.rust-for-linux |
|---|---|
| Message-ID | <CABVgOSn1eeZo7HggJYNEzzuGGpKABF=NbyMZLQbNjRwCAKXY-w@mail.gmail.com> |
On Fri, 1 Nov 2024 at 14:07, Boqun Feng <[email protected]> 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 <[email protected]> > --- > 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
smime.p7s
(application/pkcs7-signature, 5.2 KB) - not displayed