diff options
author | Alexander Duyck <alexander.h.duyck@redhat.com> | 2014-12-11 18:01:55 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-12-11 21:15:05 -0500 |
commit | 8a449718414ff10b9d5559ed3e8e09c7178774f2 (patch) | |
tree | 81097c0d6949fb90e40176ddff1f4be30467b576 /arch/x86/um | |
parent | c11a9009ae6a8c42a8cd69d885601e1aa6fbea04 (diff) |
arch: Cleanup read_barrier_depends() and comments
This patch is meant to cleanup the handling of read_barrier_depends and
smp_read_barrier_depends. In multiple spots in the kernel headers
read_barrier_depends is defined as "do {} while (0)", however we then go
into the SMP vs non-SMP sections and have the SMP version reference
read_barrier_depends, and the non-SMP define it as yet another empty
do/while.
With this commit I went through and cleaned out the duplicate definitions
and reduced the number of definitions down to 2 per header. In addition I
moved the 50 line comments for the macro from the x86 and mips headers that
defined it as an empty do/while to those that were actually defining the
macro, alpha and blackfin.
Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/x86/um')
-rw-r--r-- | arch/x86/um/asm/barrier.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/x86/um/asm/barrier.h b/arch/x86/um/asm/barrier.h index cc04e67bfd05..d6511d954e2b 100644 --- a/arch/x86/um/asm/barrier.h +++ b/arch/x86/um/asm/barrier.h | |||
@@ -29,8 +29,6 @@ | |||
29 | 29 | ||
30 | #endif /* CONFIG_X86_32 */ | 30 | #endif /* CONFIG_X86_32 */ |
31 | 31 | ||
32 | #define read_barrier_depends() do { } while (0) | ||
33 | |||
34 | #ifdef CONFIG_SMP | 32 | #ifdef CONFIG_SMP |
35 | 33 | ||
36 | #define smp_mb() mb() | 34 | #define smp_mb() mb() |
@@ -42,7 +40,6 @@ | |||
42 | 40 | ||
43 | #define smp_wmb() barrier() | 41 | #define smp_wmb() barrier() |
44 | 42 | ||
45 | #define smp_read_barrier_depends() read_barrier_depends() | ||
46 | #define set_mb(var, value) do { (void)xchg(&var, value); } while (0) | 43 | #define set_mb(var, value) do { (void)xchg(&var, value); } while (0) |
47 | 44 | ||
48 | #else /* CONFIG_SMP */ | 45 | #else /* CONFIG_SMP */ |
@@ -50,11 +47,13 @@ | |||
50 | #define smp_mb() barrier() | 47 | #define smp_mb() barrier() |
51 | #define smp_rmb() barrier() | 48 | #define smp_rmb() barrier() |
52 | #define smp_wmb() barrier() | 49 | #define smp_wmb() barrier() |
53 | #define smp_read_barrier_depends() do { } while (0) | ||
54 | #define set_mb(var, value) do { var = value; barrier(); } while (0) | 50 | #define set_mb(var, value) do { var = value; barrier(); } while (0) |
55 | 51 | ||
56 | #endif /* CONFIG_SMP */ | 52 | #endif /* CONFIG_SMP */ |
57 | 53 | ||
54 | #define read_barrier_depends() do { } while (0) | ||
55 | #define smp_read_barrier_depends() do { } while (0) | ||
56 | |||
58 | /* | 57 | /* |
59 | * Stop RDTSC speculation. This is needed when you need to use RDTSC | 58 | * Stop RDTSC speculation. This is needed when you need to use RDTSC |
60 | * (or get_cycles or vread that possibly accesses the TSC) in a defined | 59 | * (or get_cycles or vread that possibly accesses the TSC) in a defined |