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)