Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/mips/mips mips: Issue a sync plunger at the end of ...



details:   https://anonhg.NetBSD.org/src/rev/5adef149b0cb
branches:  trunk
changeset: 362458:5adef149b0cb
user:      riastradh <riastradh%NetBSD.org@localhost>
date:      Sun Feb 27 19:22:29 2022 +0000

description:
mips: Issue a sync plunger at the end of mutex_spin_exit.

Same as mutex_exit.  Relevant only on cnMIPS where the store buffers
get clogged.  Recommended by the Cavium documentation.  No semantic
change, only performance -- this only adds a barrier in some cases
where there was none before, so it can't hurt correctness.

diffstat:

 sys/arch/mips/mips/lock_stubs_llsc.S |  8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diffs (31 lines):

diff -r 14b2f76e7abe -r 5adef149b0cb sys/arch/mips/mips/lock_stubs_llsc.S
--- a/sys/arch/mips/mips/lock_stubs_llsc.S      Sun Feb 27 19:22:20 2022 +0000
+++ b/sys/arch/mips/mips/lock_stubs_llsc.S      Sun Feb 27 19:22:29 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: lock_stubs_llsc.S,v 1.16 2022/02/27 19:22:02 riastradh Exp $   */
+/*     $NetBSD: lock_stubs_llsc.S,v 1.17 2022/02/27 19:22:29 riastradh Exp $   */
 
 /*-
  * Copyright (c) 2007 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
 
 #include <machine/asm.h>
 
-RCSID("$NetBSD: lock_stubs_llsc.S,v 1.16 2022/02/27 19:22:02 riastradh Exp $")
+RCSID("$NetBSD: lock_stubs_llsc.S,v 1.17 2022/02/27 19:22:29 riastradh Exp $")
 
 #include "assym.h"
 
@@ -342,10 +342,10 @@
         nop
 #endif
        j        _C_LABEL(splx)
-        nop
+        BDSYNC_PLUNGER
 1:
        j       ra
-        nop
+        BDSYNC_PLUNGER
 #if defined(DIAGNOSTIC)
 2:
        j       _C_LABEL(mutex_vector_exit)



Home | Main Index | Thread Index | Old Index