[PATCH V3 0/5] riscv: atomic: Optimize AMO instructions usage

From: guoren
Date: Wed Apr 20 2022 - 10:44:41 EST


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