Module Name:    src
Committed By:   riastradh
Date:           Sun Feb 27 19:22:29 UTC 2022

Modified Files:
        src/sys/arch/mips/mips: lock_stubs_llsc.S

Log Message:
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.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/mips/mips/lock_stubs_llsc.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/mips/mips/lock_stubs_llsc.S
diff -u src/sys/arch/mips/mips/lock_stubs_llsc.S:1.16 src/sys/arch/mips/mips/lock_stubs_llsc.S:1.17
--- src/sys/arch/mips/mips/lock_stubs_llsc.S:1.16	Sun Feb 27 19:22:02 2022
+++ src/sys/arch/mips/mips/lock_stubs_llsc.S	Sun Feb 27 19:22:29 2022
@@ -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 @@ LEAF(llsc_mutex_spin_exit)
 	 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)

Reply via email to