• Vineet Gupta's avatar
    ARC: cmpxchg/xchg: rewrite as macros to make type safe · e188f333
    Vineet Gupta authored
    Existing code forces/assume args to type "long" which won't work in LP64
    regime, so prepare code for that
    
    Interestingly this should be a non functional change but I do see
    some codegen changes
    
    | bloat-o-meter vmlinux-cmpxchg-A vmlinux-cmpxchg-B
    | add/remove: 0/0 grow/shrink: 17/12 up/down: 218/-150 (68)
    |
    | Function                                     old     new   delta
    | rwsem_optimistic_spin                        518     550     +32
    | rwsem_down_write_slowpath                   1244    1274     +30
    | __do_sys_perf_event_open                    2576    2600     +24
    | down_read                                    192     200      +8
    | __down_read                                  192     200      +8
    ...
    | task_work_run                                168     148     -20
    | dma_fence_chain_walk.part                    760     736     -24
    | __genradix_ptr_alloc                         674     646     -28
    
    Total: Before=6187409, After=6187477, chg +0.00%
    Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: default avatarVineet Gupta <vgupta@kernel.org>
    e188f333
cmpxchg.h 4.37 KB