Re: [PATCH v3 2/2] riscv: atomic: Using ARCH_ATOMIC in asm/atomic.h

From: Mark Rutland
Date: Thu May 06 2021 - 07:46:01 EST


On Thu, May 06, 2021 at 05:42:32PM +0800, Guo Ren wrote:
> Hi Palmer,
>
> On Thu, May 6, 2021 at 2:03 PM Palmer Dabbelt <palmerdabbelt@xxxxxxxxxx> wrote:
> >
> > On Wed, 21 Apr 2021 05:53:46 PDT (-0700), guoren@xxxxxxxxxx wrote:
> > > From: Guo Ren <guoren@xxxxxxxxxxxxxxxxx>
> > >
> > > The linux/atomic-arch-fallback.h has been there for a while, but
> > > only x86 & arm64 support it. Let's make riscv follow the
> > > linux/arch/* development trendy and make the codes more readable
> > > and maintainable.
> > >
> > > This patch also cleanup some codes:
> > > - Add atomic_andnot_* operation
> > > - Using amoswap.w.rl & amoswap.w.aq instructions in xchg
> > > - Remove cmpxchg_acquire/release unnecessary optimization
> >
> > Thanks. I haven't gotten the time to review this properly yet, but I
> > don't really see any issues. Regardless, it was too late for this merge
> > window anyway -- these sorts of things are a bit subtle and require a
> > proper look, right at the end of the cycle things are just a bit too
> > hectic.
> >
> > I'll take a look once things calm down a bit, there's still some fixes
> > out that I'd like to look at first.
> >
> > I'm also only getting patch 2, and your lore link points to a different
> > patch set.
> Mark Rutland is preparing a new patchset to let ARCH_ATOMIC become the
> default for all arch. I'm waiting for his patchset and atop my
> modification on it.
> https://lore.kernel.org/linux-riscv/CAJF2gTS9y1QZx-8pu2NW22xs1Gky0y4Hs31Wrn7gZg3FiAq8NA@xxxxxxxxxxxxxx/
>
> So, please abandon the patch, I'll send a new version patchset based
> on Mark's work.

For context, the series is basically ready now, but I'm intending to
rebase it atop v5.13-rc1 before posting (e.g. since s390 just moved to
ARCH_ATOMIC), and plan to post that early next week.

If you want an early look, my atomics/arch-atomic branch on kernel.org
has the WIP (atop v5.12):

https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git/log/?h=atomics/arch-atomic
git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git atomics/arch-atomic

.. and the riscv-specific changes are just renames:

https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git/commit/?h=atomics/arch-atomic&id=3f7f7201eb4f4548cfb609019e7110b30ae598fc

Thanks,
Mark.