Skip to content

Commit

Permalink
arm64: Use acquire/release semantics instead of explicit DMB
Browse files Browse the repository at this point in the history
This patch changes the test_and_*_bit functions to use the
load-acquire/store-release instructions instead of explicit DMB.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
  • Loading branch information
Catalin Marinas committed Apr 30, 2013
1 parent c47d6a0 commit 16c85a1
Showing 1 changed file with 2 additions and 4 deletions.
6 changes: 2 additions & 4 deletions arch/arm64/lib/bitops.S
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,11 @@ ENTRY( \name )
mov x2, #1
add x1, x1, x0, lsr #3 // Get word offset
lsl x4, x2, x3 // Create mask
smp_dmb ish
1: ldxr x2, [x1]
1: ldaxr x2, [x1]
lsr x0, x2, x3 // Save old value of bit
\instr x2, x2, x4 // toggle bit
stxr w5, x2, [x1]
stlxr w5, x2, [x1]
cbnz w5, 1b
smp_dmb ish
and x0, x0, #1
3: ret
ENDPROC(\name )
Expand Down

0 comments on commit 16c85a1

Please sign in to comment.