asm-generic: add another generic ext2 atomic bitops
The majority of architectures implement ext2 atomic bitops as test_and_{set,clear}_bit() without spinlock. This adds this type of generic implementation in ext2-atomic-setbit.h and use it wherever possible. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Suggested-by: Andreas Dilger <adilger@dilger.ca> Suggested-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
b2c9cd3793
commit
148817ba09
11
include/asm-generic/bitops/ext2-atomic-setbit.h
Normal file
11
include/asm-generic/bitops/ext2-atomic-setbit.h
Normal file
@@ -0,0 +1,11 @@
|
||||
#ifndef _ASM_GENERIC_BITOPS_EXT2_ATOMIC_SETBIT_H_
|
||||
#define _ASM_GENERIC_BITOPS_EXT2_ATOMIC_SETBIT_H_
|
||||
|
||||
/*
|
||||
* Atomic bitops based version of ext2 atomic bitops
|
||||
*/
|
||||
|
||||
#define ext2_set_bit_atomic(l, nr, addr) test_and_set_bit_le(nr, addr)
|
||||
#define ext2_clear_bit_atomic(l, nr, addr) test_and_clear_bit_le(nr, addr)
|
||||
|
||||
#endif /* _ASM_GENERIC_BITOPS_EXT2_ATOMIC_SETBIT_H_ */
|
@@ -1,6 +1,10 @@
|
||||
#ifndef _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_
|
||||
#define _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_
|
||||
|
||||
/*
|
||||
* Spinlock based version of ext2 atomic bitops
|
||||
*/
|
||||
|
||||
#define ext2_set_bit_atomic(lock, nr, addr) \
|
||||
({ \
|
||||
int ret; \
|
||||
|
Reference in New Issue
Block a user