• Julian Wiedmann's avatar
    s390/qdio: fine-tune SLSB update · c119a8a3
    Julian Wiedmann authored
    xchg() for a single-byte location assembles to a 4-byte Compare&Swap,
    wrapped into a non-trivial amount of retry code that deals with
    concurrent modifications to the unaffected bytes.
    
    Change it to a simple byte-store, but preserve the memory ordering
    semantics that the CS provided.
    This simplifies the generated code for a hot path, and in theory also
    allows us to amortize the memory barriers over multiple SLSB updates.
    
    CC: Andreas Krebbel <krebbel@linux.ibm.com>
    Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
    Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
    c119a8a3
qdio_main.c 42.2 KB