From: Guo Ren <guoren@xxxxxxxxxxxxxxxxx> These patch series contain one cleanup and some optimizations for atomic operations. Changes in V3: - Fixup usage of lr.rl & sc.aq with violation of ISA - Add Optimize dec_if_positive functions - Add conditional atomic operations' optimization Changes in V2: - Fixup LR/SC memory barrier semantic problems which pointed by Rutland - Combine patches into one patchset series - Separate AMO optimization & LRSC optimization for convenience patch review Guo Ren (5): riscv: atomic: Cleanup unnecessary definition riscv: atomic: Optimize acquire and release for AMO operations riscv: atomic: Optimize memory barrier semantics of LRSC-pairs riscv: atomic: Optimize dec_if_positive functions riscv: atomic: Add conditional atomic operations' optimization arch/riscv/include/asm/atomic.h | 168 ++++++++++++++++++++++++++++--- arch/riscv/include/asm/cmpxchg.h | 30 ++---- 2 files changed, 160 insertions(+), 38 deletions(-) -- 2.25.1