Skip to content

Clean up smp_mb__ barriers

Peter Zijlstra linux-arch lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest31 patches 15 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/31ia64: Fix up smp_mb__{before,after}_clear_bitarch/ia64/include/asm/bitops.h arch/ia64/include/uapi/asm/cmpxchg.h+11 -50 replies
2/31arc,hexagon: Delete asm/barrier.harch/arc/include/asm/barrier.h arch/hexagon/include/asm/barrier.h+0 -740 replies
3/31arch: Prepare for smp_mb__{before,after}_atomic()include/asm-generic/atomic.h include/asm-generic/barrier.h include/asm-generic/bitops.h +3 more+82 -140 replies
4/31arch,alpha: Convert smp_mb__*arch/alpha/include/asm/atomic.h arch/alpha/include/asm/bitops.h+0 -80 replies
5/31arch,arc: Convert smp_mb__*arch/arc/include/asm/atomic.h arch/arc/include/asm/bitops.h+1 -90 replies
6/31arch,arm: Convert smp_mb__*arch/arm/include/asm/atomic.h arch/arm/include/asm/barrier.h arch/arm/include/asm/bitops.h+4 -81 reply
7/31arch,arm64: Convert smp_mb__*arch/arm64/include/asm/atomic.h arch/arm64/include/asm/barrier.h arch/arm64/include/asm/bitops.h+3 -141 reply
8/31arch,avr32: Convert smp_mb__*arch/avr32/include/asm/atomic.h arch/avr32/include/asm/bitops.h+2 -120 replies
9/31arch,blackfin: Convert smp_mb__*arch/blackfin/include/asm/barrier.h arch/blackfin/include/asm/bitops.h+5 -120 replies
10/31arch,c6x: Convert smp_mb__*arch/c6x/include/asm/bitops.h+1 -71 reply
11/31arch,cris: Convert smp_mb__*arch/cris/include/asm/atomic.h arch/cris/include/asm/bitops.h+3 -131 reply
12/31arch,frv: Convert smp_mb__*arch/frv/include/asm/atomic.h arch/frv/include/asm/bitops.h+1 -120 replies
13/31arch,hexagon: Convert smp_mb__*arch/hexagon/include/asm/atomic.h arch/hexagon/include/asm/bitops.h+2 -80 replies
14/31arch,ia64: Convert smp_mb__*arch/ia64/include/asm/atomic.h arch/ia64/include/asm/barrier.h arch/ia64/include/asm/bitops.h+6 -100 replies
15/31arch,m32r: Convert smp_mb__*arch/m32r/include/asm/atomic.h arch/m32r/include/asm/bitops.h+3 -100 replies
16/31arch,m68k: Convert smp_mb__*arch/m68k/include/asm/atomic.h arch/m68k/include/asm/bitops.h+2 -130 replies
17/31arch,metag: Convert smp_mb__*arch/metag/include/asm/atomic.h arch/metag/include/asm/barrier.h arch/metag/include/asm/bitops.h+4 -110 replies
18/31arch,mips: Convert smp_mb__*arch/mips/include/asm/atomic.h arch/mips/include/asm/barrier.h arch/mips/include/asm/bitops.h +1 more+7 -200 replies
19/31arch,mn10300: Convert smp_mb__*arch/mn10300/include/asm/atomic.h arch/mn10300/include/asm/bitops.h arch/mn10300/mm/tlb-smp.c+4 -110 replies
20/31arch,openrisc: Convert smp_mb__*arch/openrisc/include/asm/bitops.h+1 -80 replies
21/31arch,parisc: Convert smp_mb__*arch/parisc/include/asm/atomic.h arch/parisc/include/asm/bitops.h+2 -80 replies
22/31arch,powerpc: Convert smp_mb__*arch/powerpc/include/asm/atomic.h arch/powerpc/include/asm/barrier.h arch/powerpc/include/asm/bitops.h +1 more+6 -110 replies
23/31arch,s390: Convert smp_mb__*arch/s390/include/asm/atomic.h arch/s390/include/asm/barrier.h arch/s390/include/asm/bitops.h+5 -71 reply
24/31arch,score: Convert smp_mb__*arch/score/include/asm/bitops.h+1 -61 reply
25/31arch,sh: Convert smp_mb__*arch/sh/include/asm/atomic.h arch/sh/include/asm/bitops.h+2 -110 replies
26/31arch,sparc: Convert smp_mb__*arch/sparc/include/asm/atomic_32.h arch/sparc/include/asm/atomic_64.h arch/sparc/include/asm/barrier_64.h +2 more+6 -181 reply
27/31arch,tile: Convert smp_mb__*arch/tile/include/asm/atomic_32.h arch/tile/include/asm/atomic_64.h arch/tile/include/asm/barrier.h +3 more+17 -261 reply
28/31arch, x86: Convert smp_mb__*arch/x86/include/asm/atomic.h arch/x86/include/asm/barrier.h arch/x86/include/asm/bitops.h +2 more+9 -120 replies
29/31arch,xtensa: Convert smp_mb__*arch/xtensa/include/asm/atomic.h arch/xtensa/include/asm/barrier.h arch/xtensa/include/asm/bitops.h+5 -92 replies
30/31arch,doc: Convert smp_mb__*Documentation/atomic_ops.txt Documentation/memory-barriers.txt+24 -512 replies
31/31arch: Mass conversion of smp_mb__*block/blk-iopoll.c crypto/chainiv.c drivers/base/power/domain.c +100 more+283 -2870 replies

Reviews trailers per patch

8 of 31 patches have a Reviewed-by or Acked-by.

PatchPaul E. McKenneyDavid HowellsChris MetcalfDavid S. MillerLennox WuJesper NilssonCatalin MarinasMark SalterWill Deacon
1/31
2/31
3/31
4/31
5/31
6/31A-b
7/31A-b
8/31
9/31
10/31A-b
11/31A-b
12/31
13/31
14/31
15/31
16/31
17/31
18/31
19/31
20/31
21/31
22/31
23/31
24/31A-b
25/31
26/31A-b
27/31A-b
28/31
29/31
30/31R-b A-b A-b
31/31

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 9 reviewers.

Read the v1 thread

Cover letter [PATCH 00/31] Clean up smp_mb__ barriers

Hi all,

Here's a respin (and per arch breakout) of the first 3 patches that spawned this large C11 atomics thread.

These patches deprecate smp_mb__{before,after}_{atomic_{inc,dec},clear_bit}() and replace it by just the two smp_mb__{before,after}_atomic().

Assuming people like this; how would we go about merging it? Can we stuff it into tip/locking/core or something?

Its been compile tested for everything I have a working compiler for.