Messages in this thread | | | Date | Thu, 16 Jul 2015 19:21:10 +0200 | From | Peter Zijlstra <> | Subject | [PATCH 00/28] arch: Provide atomic logic ops |
| |
Currently there is an incoherent mess of atomic_{set,clear}_mask() and atomic_or() (but no atomic_{and,nand,xor}()) in the tree.
Those archs that implement atomic_{set,clear}_mask() are not even consistent on its signature.
Implement atomic_{or,and,xor}() on all archs and deprecate atomic_{set,clear}_mask().
The series has been compile tested by the build-bot, no known failures at this time.
I would like to take this through tip; I'll ask Ingo to put it in a separate branch such that people can pull in that branch if there is conflicting work elsewhere (Will has some for Argh64).
Changes since lst time:
- Quite a few build fails fixed, most notable would be that each arch now defines CONFIG_ARCH_HAS_ATOMIC_OR for a little while -- we take it out again later.
- FRV has some extra magic that allows the inline assembly to correctly work as inline functions.
- TILE patch contributed by Chris -- Thanks!
- A little extention to lib/atomic64_test.c that compile tests the new primitives.
- Alpha, fixed ASM due to fallout from actually trying to compile things.
- H8300, somehow I had overlooked it previously.
- Added atomic_andnot() to a few archs that have that instruction to test that.
| |