Message ID | 1451572003-2440-7-git-send-email-mst@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Dec 31, 2015 at 09:06:30PM +0200, Michael S. Tsirkin wrote: > On s390 read_barrier_depends, smp_read_barrier_depends > smp_store_mb(), smp_mb__before_atomic and smp_mb__after_atomic match the > asm-generic variants exactly. Drop the local definitions and pull in > asm-generic/barrier.h instead. > > This is in preparation to refactoring this code area. > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > Acked-by: Arnd Bergmann <arnd@arndb.de> > --- > arch/s390/include/asm/barrier.h | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) > > diff --git a/arch/s390/include/asm/barrier.h b/arch/s390/include/asm/barrier.h > index 7ffd0b1..c358c31 100644 > --- a/arch/s390/include/asm/barrier.h > +++ b/arch/s390/include/asm/barrier.h > @@ -30,14 +30,6 @@ > #define smp_rmb() rmb() > #define smp_wmb() wmb() > > -#define read_barrier_depends() do { } while (0) > -#define smp_read_barrier_depends() do { } while (0) > - > -#define smp_mb__before_atomic() smp_mb() > -#define smp_mb__after_atomic() smp_mb() As per: lkml.kernel.org/r/20150921112252.3c2937e1@mschwide s390 should change this to barrier() instead of smp_mb() and hence should not use the generic versions.
On Mon, 4 Jan 2016 14:20:42 +0100 Peter Zijlstra <peterz@infradead.org> wrote: > On Thu, Dec 31, 2015 at 09:06:30PM +0200, Michael S. Tsirkin wrote: > > On s390 read_barrier_depends, smp_read_barrier_depends > > smp_store_mb(), smp_mb__before_atomic and smp_mb__after_atomic match the > > asm-generic variants exactly. Drop the local definitions and pull in > > asm-generic/barrier.h instead. > > > > This is in preparation to refactoring this code area. > > > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > > Acked-by: Arnd Bergmann <arnd@arndb.de> > > --- > > arch/s390/include/asm/barrier.h | 10 ++-------- > > 1 file changed, 2 insertions(+), 8 deletions(-) > > > > diff --git a/arch/s390/include/asm/barrier.h b/arch/s390/include/asm/barrier.h > > index 7ffd0b1..c358c31 100644 > > --- a/arch/s390/include/asm/barrier.h > > +++ b/arch/s390/include/asm/barrier.h > > @@ -30,14 +30,6 @@ > > #define smp_rmb() rmb() > > #define smp_wmb() wmb() > > > > -#define read_barrier_depends() do { } while (0) > > -#define smp_read_barrier_depends() do { } while (0) > > - > > -#define smp_mb__before_atomic() smp_mb() > > -#define smp_mb__after_atomic() smp_mb() > > As per: > > lkml.kernel.org/r/20150921112252.3c2937e1@mschwide > > s390 should change this to barrier() instead of smp_mb() and hence > should not use the generic versions. Yes, we wanted to simplify this. Thanks for the reminder, I'll queue a patch.
On Mon, Jan 04, 2016 at 02:20:42PM +0100, Peter Zijlstra wrote: > On Thu, Dec 31, 2015 at 09:06:30PM +0200, Michael S. Tsirkin wrote: > > On s390 read_barrier_depends, smp_read_barrier_depends > > smp_store_mb(), smp_mb__before_atomic and smp_mb__after_atomic match the > > asm-generic variants exactly. Drop the local definitions and pull in > > asm-generic/barrier.h instead. > > > > This is in preparation to refactoring this code area. > > > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > > Acked-by: Arnd Bergmann <arnd@arndb.de> > > --- > > arch/s390/include/asm/barrier.h | 10 ++-------- > > 1 file changed, 2 insertions(+), 8 deletions(-) > > > > diff --git a/arch/s390/include/asm/barrier.h b/arch/s390/include/asm/barrier.h > > index 7ffd0b1..c358c31 100644 > > --- a/arch/s390/include/asm/barrier.h > > +++ b/arch/s390/include/asm/barrier.h > > @@ -30,14 +30,6 @@ > > #define smp_rmb() rmb() > > #define smp_wmb() wmb() > > > > -#define read_barrier_depends() do { } while (0) > > -#define smp_read_barrier_depends() do { } while (0) > > - > > -#define smp_mb__before_atomic() smp_mb() > > -#define smp_mb__after_atomic() smp_mb() > > As per: > > lkml.kernel.org/r/20150921112252.3c2937e1@mschwide > > s390 should change this to barrier() instead of smp_mb() and hence > should not use the generic versions. Thanks Peter! OK so I will just rename this to __smp_mb__before_atomic and __smp_mb__after_atomic but keep them around. I'm not changing these - that's best left to s390 maintainers. Should I add a TODO comment to change them to barrier so we don't forget?
On Mon, Jan 04, 2016 at 04:03:39PM +0100, Martin Schwidefsky wrote: > On Mon, 4 Jan 2016 14:20:42 +0100 > Peter Zijlstra <peterz@infradead.org> wrote: > > > On Thu, Dec 31, 2015 at 09:06:30PM +0200, Michael S. Tsirkin wrote: > > > On s390 read_barrier_depends, smp_read_barrier_depends > > > smp_store_mb(), smp_mb__before_atomic and smp_mb__after_atomic match the > > > asm-generic variants exactly. Drop the local definitions and pull in > > > asm-generic/barrier.h instead. > > > > > > This is in preparation to refactoring this code area. > > > > > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > > > Acked-by: Arnd Bergmann <arnd@arndb.de> > > > --- > > > arch/s390/include/asm/barrier.h | 10 ++-------- > > > 1 file changed, 2 insertions(+), 8 deletions(-) > > > > > > diff --git a/arch/s390/include/asm/barrier.h b/arch/s390/include/asm/barrier.h > > > index 7ffd0b1..c358c31 100644 > > > --- a/arch/s390/include/asm/barrier.h > > > +++ b/arch/s390/include/asm/barrier.h > > > @@ -30,14 +30,6 @@ > > > #define smp_rmb() rmb() > > > #define smp_wmb() wmb() > > > > > > -#define read_barrier_depends() do { } while (0) > > > -#define smp_read_barrier_depends() do { } while (0) > > > - > > > -#define smp_mb__before_atomic() smp_mb() > > > -#define smp_mb__after_atomic() smp_mb() > > > > As per: > > > > lkml.kernel.org/r/20150921112252.3c2937e1@mschwide > > > > s390 should change this to barrier() instead of smp_mb() and hence > > should not use the generic versions. > > Yes, we wanted to simplify this. Thanks for the reminder, I'll queue > a patch. Could you base on my patchset maybe, to avoid conflicts, and I'll merge it? Or if it's just replacing these 2 with barrier() I can do this myself easily. > -- > blue skies, > Martin. > > "Reality continues to ruin my life." - Calvin.
On Mon, 4 Jan 2016 22:42:44 +0200 "Michael S. Tsirkin" <mst@redhat.com> wrote: > On Mon, Jan 04, 2016 at 04:03:39PM +0100, Martin Schwidefsky wrote: > > On Mon, 4 Jan 2016 14:20:42 +0100 > > Peter Zijlstra <peterz@infradead.org> wrote: > > > > > On Thu, Dec 31, 2015 at 09:06:30PM +0200, Michael S. Tsirkin wrote: > > > > On s390 read_barrier_depends, smp_read_barrier_depends > > > > smp_store_mb(), smp_mb__before_atomic and smp_mb__after_atomic match the > > > > asm-generic variants exactly. Drop the local definitions and pull in > > > > asm-generic/barrier.h instead. > > > > > > > > This is in preparation to refactoring this code area. > > > > > > > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > > > > Acked-by: Arnd Bergmann <arnd@arndb.de> > > > > --- > > > > arch/s390/include/asm/barrier.h | 10 ++-------- > > > > 1 file changed, 2 insertions(+), 8 deletions(-) > > > > > > > > diff --git a/arch/s390/include/asm/barrier.h b/arch/s390/include/asm/barrier.h > > > > index 7ffd0b1..c358c31 100644 > > > > --- a/arch/s390/include/asm/barrier.h > > > > +++ b/arch/s390/include/asm/barrier.h > > > > @@ -30,14 +30,6 @@ > > > > #define smp_rmb() rmb() > > > > #define smp_wmb() wmb() > > > > > > > > -#define read_barrier_depends() do { } while (0) > > > > -#define smp_read_barrier_depends() do { } while (0) > > > > - > > > > -#define smp_mb__before_atomic() smp_mb() > > > > -#define smp_mb__after_atomic() smp_mb() > > > > > > As per: > > > > > > lkml.kernel.org/r/20150921112252.3c2937e1@mschwide > > > > > > s390 should change this to barrier() instead of smp_mb() and hence > > > should not use the generic versions. > > > > Yes, we wanted to simplify this. Thanks for the reminder, I'll queue > > a patch. > > Could you base on my patchset maybe, to avoid conflicts, > and I'll merge it? > Or if it's just replacing these 2 with barrier() I can do this > myself easily. Probably the easiest solution if you do the patch yourself and include it in your patch set.
diff --git a/arch/s390/include/asm/barrier.h b/arch/s390/include/asm/barrier.h index 7ffd0b1..c358c31 100644 --- a/arch/s390/include/asm/barrier.h +++ b/arch/s390/include/asm/barrier.h @@ -30,14 +30,6 @@ #define smp_rmb() rmb() #define smp_wmb() wmb() -#define read_barrier_depends() do { } while (0) -#define smp_read_barrier_depends() do { } while (0) - -#define smp_mb__before_atomic() smp_mb() -#define smp_mb__after_atomic() smp_mb() - -#define smp_store_mb(var, value) do { WRITE_ONCE(var, value); smp_mb(); } while (0) - #define smp_store_release(p, v) \ do { \ compiletime_assert_atomic_type(*p); \ @@ -53,4 +45,6 @@ do { \ ___p1; \ }) +#include <asm-generic/barrier.h> + #endif /* __ASM_BARRIER_H */