• Matthew Wilcox (Oracle)'s avatar
    m68k: implement xor_unlock_is_negative_byte · ea845e31
    Matthew Wilcox (Oracle) authored
    Using EOR to clear the guaranteed-to-be-set lock bit will test the
    negative flag just like the x86 implementation.  This should be more
    efficient than the generic implementation in filemap.c.  It would be
    better if m68k had __GCC_ASM_FLAG_OUTPUTS__.
    
    Coldfire doesn't have a byte-sized EOR, so we test bit 7 after the EOR,
    which is a second memory access, but it's slightly better than the current
    C code.
    
    Link: https://lkml.kernel.org/r/20231004165317.1061855-10-willy@infradead.orgSigned-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Albert Ou <aou@eecs.berkeley.edu>
    Cc: Alexander Gordeev <agordeev@linux.ibm.com>
    Cc: Andreas Dilger <adilger.kernel@dilger.ca>
    Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
    Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Heiko Carstens <hca@linux.ibm.com>
    Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
    Cc: Matt Turner <mattst88@gmail.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Palmer Dabbelt <palmer@dabbelt.com>
    Cc: Paul Walmsley <paul.walmsley@sifive.com>
    Cc: Richard Henderson <richard.henderson@linaro.org>
    Cc: Sven Schnelle <svens@linux.ibm.com>
    Cc: "Theodore Ts'o" <tytso@mit.edu>
    Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    ea845e31
bitops.h 13.3 KB