Subject: [tip:locking/core] arch,avr32: Convert smp_mb__*()

Commit-ID: 710adaa913169d7183cdf0de41c2a349101ff615
Gitweb: http://git.kernel.org/tip/710adaa913169d7183cdf0de41c2a349101ff615
Author: Peter Zijlstra <[email protected]>
AuthorDate: Thu, 13 Mar 2014 19:00:37 +0100
Committer: Ingo Molnar <[email protected]>
CommitDate: Fri, 18 Apr 2014 11:40:33 +0200

arch,avr32: Convert smp_mb__*()

AVR32's mb() implementation is a compiler barrier(), therefore it all
doesn't matter, fully rely on whatever asm-generic/barrier.h
generates.

Signed-off-by: Peter Zijlstra <[email protected]>
Acked-by: Paul E. McKenney <[email protected]>
Link: http://lkml.kernel.org/n/[email protected]
Cc: Haavard Skinnemoen <[email protected]>
Cc: Hans-Christian Egtvedt <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: [email protected]
Signed-off-by: Ingo Molnar <[email protected]>
---
arch/avr32/include/asm/atomic.h | 5 -----
arch/avr32/include/asm/bitops.h | 9 ++-------
2 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/arch/avr32/include/asm/atomic.h b/arch/avr32/include/asm/atomic.h
index 6140727..0780f3f 100644
--- a/arch/avr32/include/asm/atomic.h
+++ b/arch/avr32/include/asm/atomic.h
@@ -183,9 +183,4 @@ static inline int atomic_sub_if_positive(int i, atomic_t *v)

#define atomic_dec_if_positive(v) atomic_sub_if_positive(1, v)

-#define smp_mb__before_atomic_dec() barrier()
-#define smp_mb__after_atomic_dec() barrier()
-#define smp_mb__before_atomic_inc() barrier()
-#define smp_mb__after_atomic_inc() barrier()
-
#endif /* __ASM_AVR32_ATOMIC_H */
diff --git a/arch/avr32/include/asm/bitops.h b/arch/avr32/include/asm/bitops.h
index ebe7ad3..910d537 100644
--- a/arch/avr32/include/asm/bitops.h
+++ b/arch/avr32/include/asm/bitops.h
@@ -13,12 +13,7 @@
#endif

#include <asm/byteorder.h>
-
-/*
- * clear_bit() doesn't provide any barrier for the compiler
- */
-#define smp_mb__before_clear_bit() barrier()
-#define smp_mb__after_clear_bit() barrier()
+#include <asm/barrier.h>

/*
* set_bit - Atomically set a bit in memory
@@ -67,7 +62,7 @@ static inline void set_bit(int nr, volatile void * addr)
*
* clear_bit() is atomic and may not be reordered. However, it does
* not contain a memory barrier, so if it is used for locking purposes,
- * you should call smp_mb__before_clear_bit() and/or smp_mb__after_clear_bit()
+ * you should call smp_mb__before_atomic() and/or smp_mb__after_atomic()
* in order to ensure changes are visible on other processors.
*/
static inline void clear_bit(int nr, volatile void * addr)


Subject: Re: [tip:locking/core] arch,avr32: Convert smp_mb__*()

Around Fri 18 Apr 2014 06:05:23 -0700 or thereabout, tip-bot for Peter Zijlstra wrote:
> Commit-ID: 710adaa913169d7183cdf0de41c2a349101ff615
> Gitweb: http://git.kernel.org/tip/710adaa913169d7183cdf0de41c2a349101ff615
> Author: Peter Zijlstra <[email protected]>
> AuthorDate: Thu, 13 Mar 2014 19:00:37 +0100
> Committer: Ingo Molnar <[email protected]>
> CommitDate: Fri, 18 Apr 2014 11:40:33 +0200
>
> arch,avr32: Convert smp_mb__*()
>
> AVR32's mb() implementation is a compiler barrier(), therefore it all
> doesn't matter, fully rely on whatever asm-generic/barrier.h
> generates.

Thanks for cleaning, would this go in through some tip-tree? Or would you
prefer if I added it to my for-linus branch?

I currently have nothing in the pipe for 3.15.

> Signed-off-by: Peter Zijlstra <[email protected]>
> Acked-by: Paul E. McKenney <[email protected]>
> Link: http://lkml.kernel.org/n/[email protected]
> Cc: Haavard Skinnemoen <[email protected]>
> Cc: Hans-Christian Egtvedt <[email protected]>
> Cc: Linus Torvalds <[email protected]>
> Cc: [email protected]
> Signed-off-by: Ingo Molnar <[email protected]>

Acked-by: Hans-Christian Egtvedt <[email protected]>

> ---
> arch/avr32/include/asm/atomic.h | 5 -----
> arch/avr32/include/asm/bitops.h | 9 ++-------
> 2 files changed, 2 insertions(+), 12 deletions(-)

<snipp diff>

--
mvh
Hans-Christian Egtvedt

2014-04-22 05:03:44

by Ingo Molnar

[permalink] [raw]
Subject: Re: [tip:locking/core] arch,avr32: Convert smp_mb__*()


* Hans-Christian Egtvedt <[email protected]> wrote:

> Around Fri 18 Apr 2014 06:05:23 -0700 or thereabout, tip-bot for Peter Zijlstra wrote:
> > Commit-ID: 710adaa913169d7183cdf0de41c2a349101ff615
> > Gitweb: http://git.kernel.org/tip/710adaa913169d7183cdf0de41c2a349101ff615
> > Author: Peter Zijlstra <[email protected]>
> > AuthorDate: Thu, 13 Mar 2014 19:00:37 +0100
> > Committer: Ingo Molnar <[email protected]>
> > CommitDate: Fri, 18 Apr 2014 11:40:33 +0200
> >
> > arch,avr32: Convert smp_mb__*()
> >
> > AVR32's mb() implementation is a compiler barrier(), therefore it all
> > doesn't matter, fully rely on whatever asm-generic/barrier.h
> > generates.
>
> Thanks for cleaning, would this go in through some tip-tree? Or would you
> prefer if I added it to my for-linus branch?

Yeah, the plan would be for this to go via the locking tree
(tip:locking/core), for v3.16 - together with similar patches for
other architectures.

Thanks,

Ingo