• M
    s390/cmpxchg: use compiler builtins · f318a122
    Martin Schwidefsky 提交于
    The kernel build for s390 fails for gcc compilers with version 3.x,
    set the minimum required version of gcc to version 4.3.
    
    As the atomic builtins are available with all gcc 4.x compilers,
    use the __sync_val_compare_and_swap and __sync_bool_compare_and_swap
    functions to replace the complex macro and inline assembler magic
    in include/asm/cmpxchg.h. The compiler can just-do-it and generates
    better code with the builtins.
    
    While we are at it use __sync_bool_compare_and_swap for the
    _raw_compare_and_swap function in the spinlock code as well.
    Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
    f318a122
spinlock.h 6.2 KB