Messages in this thread | | | From | Leonardo Bras <> | Subject | [RFC PATCH v1 0/2] Deduplicating RISCV cmpxchg.h macros | Date | Thu, 6 Apr 2023 05:20:17 -0300 |
| |
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.
Thanks! Leo
Changes since RFCv3: - Squashed the 6 original patches in 2: one for cmpxchg and one for xchg https://lore.kernel.org/all/20230404163741.2762165-1-leobras@redhat.com/
Changes since RFCv2: - Fixed macros that depend on having a local variable with a magic name - Previous cast to (long) is now only applied on 4-bytes cmpxchg https://lore.kernel.org/all/20230321074249.2221674-1-leobras@redhat.com/
Changes since RFCv1: - Fixed patch 4/6 suffix from 'w.aqrl' to '.w.aqrl', to avoid build error https://lore.kernel.org/all/20230318080059.1109286-1-leobras@redhat.com/
Leonardo Bras (2): riscv/cmpxchg: Deduplicate cmpxchg() asm and macros riscv/cmpxchg: Deduplicate xchg() asm functions
arch/riscv/include/asm/cmpxchg.h | 319 +++++++------------------------ 1 file changed, 67 insertions(+), 252 deletions(-)
-- 2.40.0
| |