Message ID | 20230321063430.2218795-1-leobras@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | Deduplicating RISCV cmpxchg.h macros | expand |
On Tue, 2023-03-21 at 03:34 -0300, Leonardo Bras wrote: > While studying riscv's cmpxchg.h file, I got really interested in > understanding how RISCV asm implemented the different versions of > {cmp,}xchg. > > When I understood the pattern, it made sense for me to remove the > duplications and create macros to make it easier to understand what exactly > changes between the versions: Instruction sufixes & barriers. > > I split those changes in 3 levels for each cmpxchg and xchg, resulting a > total of 6 patches. I did this so it becomes easier to review and remove > the last levels if desired, but I have no issue squashing them if it's > better. > > Please provide comments. > > Thanks! > Leo > > Changes since v1: > - Fixed patch 4/6 suffix from 'w.aqrl' to '.w.aqrl', to avoid build error > > Leonardo Bras (6): > riscv/cmpxchg: Deduplicate cmpxchg() asm functions > riscv/cmpxchg: Deduplicate cmpxchg() macros > riscv/cmpxchg: Deduplicate arch_cmpxchg() macros > riscv/cmpxchg: Deduplicate xchg() asm functions > riscv/cmpxchg: Deduplicate xchg() macros > riscv/cmpxchg: Deduplicate arch_xchg() macros > > arch/riscv/include/asm/cmpxchg.h | 316 +++++++------------------------ > 1 file changed, 64 insertions(+), 252 deletions(-) > Re-sending, since it seems to have not worked with patchwork properly.