• Matthew Wilcox (Oracle)'s avatar
    bitops: add xor_unlock_is_negative_byte() · 247dbcdb
    Matthew Wilcox (Oracle) authored
    Replace clear_bit_and_unlock_is_negative_byte() with
    xor_unlock_is_negative_byte().  We have a few places that like to lock a
    folio, set a flag and unlock it again.  Allow for the possibility of
    combining the latter two operations for efficiency.  We are guaranteed
    that the caller holds the lock, so it is safe to unlock it with the xor. 
    The caller must guarantee that nobody else will set the flag without
    holding the lock; it is not safe to do this with the PG_dirty flag, for
    example.
    
    Link: https://lkml.kernel.org/r/20231004165317.1061855-8-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>
    247dbcdb
bitops.h 9.18 KB