]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
tools: Optimize ring buffer for riscv
authorCharlie Jenkins <charlie@rivosinc.com>
Tue, 6 Aug 2024 22:01:24 +0000 (15:01 -0700)
committerPalmer Dabbelt <palmer@rivosinc.com>
Fri, 20 Sep 2024 08:46:47 +0000 (01:46 -0700)
Now that the riscv tools tree supports optimized barriers, use them in
the ring buffer.

Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
Reviewed-by: Andrea Parri <parri.andrea@gmail.com>
Link: https://lore.kernel.org/r/20240806-optimize_ring_buffer_read_riscv-v2-2-ca7e193ae198@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
tools/include/linux/ring_buffer.h

index 6c02617377c29b4f9fb758593dd5f2566518cfd9..a74c397359c7e7dbd60868ea75f8e42317e88721 100644 (file)
@@ -55,7 +55,7 @@ static inline u64 ring_buffer_read_head(struct perf_event_mmap_page *base)
  * READ_ONCE() + smp_mb() pair.
  */
 #if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__) || \
-    defined(__ia64__) || defined(__sparc__) && defined(__arch64__)
+    defined(__ia64__) || defined(__sparc__) && defined(__arch64__) || defined(__riscv)
        return smp_load_acquire(&base->data_head);
 #else
        u64 head = READ_ONCE(base->data_head);