On Thu, Sep 19, 2024 at 10:14:05AM +0200, Uros Bizjak wrote: > --- a/fs/xfs/xfs_log_cil.c > +++ b/fs/xfs/xfs_log_cil.c > @@ -171,13 +171,12 @@ xlog_cil_insert_pcp_aggregate( > * structures that could have a nonzero space_used. > */ > for_each_cpu(cpu, &ctx->cil_pcpmask) { > - int old, prev; > + int old; > > cilpcp = per_cpu_ptr(cil->xc_pcp, cpu); > + old = READ_ONCE(cilpcp->space_used); Maybe it is just me, but this would probably look nicer if the cilpcp variable moved into the loop scope, and both were initialized at declaration time: struct xlog_cil_pcp *cilpcp = per_cpu_ptr(cil->xc_pcp, cpu); int old = READ_ONCE(cilpcp->space_used); > do { > + } while (!try_cmpxchg(&cilpcp->space_used, &old, 0)); And this also looks a bit odd. Again, probably preference, but a: while (!try_cmpxchg(&cilpcp->space_used, &old, 0)) ; looks somewhat more normal (although still not pretty). Sorry for not having anything more substantial to see, but the diff just looked a bit odd..