]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
arm64: percpu: kill off final ACCESS_ONCE() uses
authorMark Rutland <mark.rutland@arm.com>
Fri, 4 Nov 2016 18:17:06 +0000 (18:17 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 9 Nov 2016 17:15:40 +0000 (17:15 +0000)
For several reasons it is preferable to use {READ,WRITE}_ONCE() rather than
ACCESS_ONCE(). For example, these handle aggregate types, result in shorter
source code, and better document the intended access (which may be useful for
instrumentation features such as the upcoming KTSAN).

Over a number of patches, most uses of ACCESS_ONCE() in arch/arm64 have been
migrated to {READ,WRITE}_ONCE(). For consistency, and the above reasons, this
patch migrates the final remaining uses.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Acked-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/percpu.h

index 5394c8405e6604bf612fd0c639c1f15a30d0f7d9..4afb6fcc85cec2843aa847e9f364e55f59127e0f 100644 (file)
@@ -101,16 +101,16 @@ static inline unsigned long __percpu_read(void *ptr, int size)
 
        switch (size) {
        case 1:
-               ret = ACCESS_ONCE(*(u8 *)ptr);
+               ret = READ_ONCE(*(u8 *)ptr);
                break;
        case 2:
-               ret = ACCESS_ONCE(*(u16 *)ptr);
+               ret = READ_ONCE(*(u16 *)ptr);
                break;
        case 4:
-               ret = ACCESS_ONCE(*(u32 *)ptr);
+               ret = READ_ONCE(*(u32 *)ptr);
                break;
        case 8:
-               ret = ACCESS_ONCE(*(u64 *)ptr);
+               ret = READ_ONCE(*(u64 *)ptr);
                break;
        default:
                BUILD_BUG();
@@ -123,16 +123,16 @@ static inline void __percpu_write(void *ptr, unsigned long val, int size)
 {
        switch (size) {
        case 1:
-               ACCESS_ONCE(*(u8 *)ptr) = (u8)val;
+               WRITE_ONCE(*(u8 *)ptr, (u8)val);
                break;
        case 2:
-               ACCESS_ONCE(*(u16 *)ptr) = (u16)val;
+               WRITE_ONCE(*(u16 *)ptr, (u16)val);
                break;
        case 4:
-               ACCESS_ONCE(*(u32 *)ptr) = (u32)val;
+               WRITE_ONCE(*(u32 *)ptr, (u32)val);
                break;
        case 8:
-               ACCESS_ONCE(*(u64 *)ptr) = (u64)val;
+               WRITE_ONCE(*(u64 *)ptr, (u64)val);
                break;
        default:
                BUILD_BUG();