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)