On Wed, Apr 27, 2016 at 06:26:56PM +0200, Alexander Gordeev wrote: > On Wed, Apr 27, 2016 at 03:52:51PM +0200, Andrew Jones wrote: > > On Wed, Apr 27, 2016 at 03:13:54PM +0200, Alexander Gordeev wrote: > > > Make x86 consistent with other architectures and put > > > memory barrier defines to lib/x86/asm/barrier.h > > > > > > Cc: Andrew Jones <drjones@xxxxxxxxxx> > > > Cc: Thomas Huth <thuth@xxxxxxxxxx> > > > Cc: Radim Krčmář <rkrcmar@xxxxxxxxxx> > > > Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> > > > --- > > > lib/x86/asm/barrier.h | 8 ++++++++ > > > lib/x86/asm/io.h | 1 + > > > lib/x86/smp.h | 4 ---- > > > x86/kvmclock.c | 1 + > > > 4 files changed, 10 insertions(+), 4 deletions(-) > > > create mode 100644 lib/x86/asm/barrier.h > > > > Reviewed-by: Andrew Jones <drjones@xxxxxxxxxx> > > I forgot about your _ASM_X86 vs _ASMX86 nit. > I will resend this (and others affected). Actually, all x86 headers have _ASM_X86 prefix, except lib/x86/asm/bitops.h. So either introduce _ASM_X86_BARRIER_H_ and _ASM_X86_PAGE_H_ and change _ASMX86_BITOPS_H_ or fix them all. Or just do not do anything about that? :) > > > > > > diff --git a/lib/x86/asm/barrier.h b/lib/x86/asm/barrier.h > > > new file mode 100644 > > > index 0000000..0ca1c56 > > > --- /dev/null > > > +++ b/lib/x86/asm/barrier.h > > > @@ -0,0 +1,8 @@ > > > +#ifndef _ASM_X86_BARRIER_H_ > > > +#define _ASM_X86_BARRIER_H_ Or _ASMX86_BARRIER_H_? > > > + > > > +#define mb() asm volatile("mfence":::"memory") > > > +#define rmb() asm volatile("lfence":::"memory") > > > +#define wmb() asm volatile("sfence" ::: "memory") > > > + > > > +#endif > > > diff --git a/lib/x86/asm/io.h b/lib/x86/asm/io.h > > > index 68b10e5..5b901a3 100644 > > > --- a/lib/x86/asm/io.h > > > +++ b/lib/x86/asm/io.h > > > @@ -2,6 +2,7 @@ > > > #define _ASM_X86_IO_H_ > > > > > > #include "asm/page.h" > > > +#include "asm/barrier.h" > > > > > > static inline unsigned char inb(unsigned short port) > > > { > > > diff --git a/lib/x86/smp.h b/lib/x86/smp.h > > > index 566018f..afabac8 100644 > > > --- a/lib/x86/smp.h > > > +++ b/lib/x86/smp.h > > > @@ -2,10 +2,6 @@ > > > #define __SMP_H > > > #include <asm/spinlock.h> > > > > > > -#define mb() asm volatile("mfence":::"memory") > > > -#define rmb() asm volatile("lfence":::"memory") > > > -#define wmb() asm volatile("sfence" ::: "memory") > > > - > > > void smp_init(void); > > > > > > int cpu_count(void); > > > diff --git a/x86/kvmclock.c b/x86/kvmclock.c > > > index 327e60d..208d43c 100644 > > > --- a/x86/kvmclock.c > > > +++ b/x86/kvmclock.c > > > @@ -3,6 +3,7 @@ > > > #include "atomic.h" > > > #include "processor.h" > > > #include "kvmclock.h" > > > +#include "asm/barrier.h" > > > > > > #define unlikely(x) __builtin_expect(!!(x), 0) > > > #define likely(x) __builtin_expect(!!(x), 1) > > > -- > > > 1.8.3.1 > > > > > > -- > > > To unsubscribe from this list: send the line "unsubscribe kvm" in > > > the body of a message to majordomo@xxxxxxxxxxxxxxx > > > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html