On Fri, 04 Oct 2024 20:05:41 +0200 Andreas Hindborg <a.hindborg@xxxxxxxxxx> wrote: > Hi Gary, > > "Gary Guo" <gary@xxxxxxxxxxx> writes: > > > Currently there's a custom reference counting in `block::mq`, which uses > > `AtomicU64` Rust atomics, and this type doesn't exist on some 32-bit > > architectures. We cannot just change it to use 32-bit atomics, because > > doing so will make it vulnerable to refcount overflow. So switch it to > > use the kernel refcount `kernel::sync::Refcount` instead. > > > > There is an operation needed by `block::mq`, atomically decreasing > > refcount from 2 to 0, which is not available through refcount.h, so > > I exposed `Refcount::as_atomic` which allows accessing the refcount > > directly. > > I would rather wait with this patch until the helper LTO patches land > upstream. Or at least let me run the benchmarks to see the effect of not > inlining these refcount operations. > > Best regards, > Andreas > The helper LTO patch series still need some time. I'd want to be able to test on 32-bit archs in the meantime. Best, Gary