• Will Deacon's avatar
    locking/barriers: Use '__unqual_scalar_typeof' for load-acquire macros · 54988727
    Will Deacon authored
    Passing volatile-qualified pointers to the asm-generic implementations of
    the load-acquire macros results in a re-load from the stack due to the
    temporary result variable inheriting the volatile semantics thanks to the
    use of 'typeof()'.
    
    Define these temporary variables using 'unqual_scalar_typeof' to drop
    the volatile qualifier in the case that they are scalar types.
    
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarWill Deacon <will@kernel.org>
    54988727
barrier.h 5.87 KB