Subject: port-hpcmips/26427: LOCKDEBUG error in vr_idle
To: None <gnats-bugs@gnats.netbsd.org>
From: Matthew Orgass <darkstar@city-net.com>
List: netbsd-bugs
Date: 07/25/2004 00:44:09
>Number:         26427
>Category:       port-hpcmips
>Synopsis:       LOCKDEBUG error in vr_idle
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    port-hpcmips-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jul 25 04:56:01 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     darkstar@city-net.com
>Release:        NetBSD 2.0_BETA
>Organization:
>Environment:
>Description:

  vr_idle lowers the IPL before releasing the sched_lock.

>How-To-Repeat:
>Fix:

Index: vr_idle.S
===================================================================
RCS file: /cvsroot/src/sys/arch/hpcmips/vr/vr_idle.S,v
retrieving revision 1.8
diff -u -r1.8 vr_idle.S
--- vr_idle.S	7 Aug 2003 16:27:50 -0000	1.8
+++ vr_idle.S	25 Jul 2004 04:33:03 -0000
@@ -58,14 +58,14 @@
  * profiling.
  */
 LEAF(vr_idle)
-	li	t0, (MIPS_INT_MASK | MIPS_SR_INT_IE)
-	mtc0	t0, MIPS_COP_0_STATUS		# enable all interrupts
-	nop
-	sw	zero, _C_LABEL(curlwp)		# set curlwp NULL for stats
 #if defined(LOCKDEBUG)
 	jal	_C_LABEL(sched_unlock_idle)	# release sched_lock
 	nop
 #endif
+	li	t0, (MIPS_INT_MASK | MIPS_SR_INT_IE)
+	mtc0	t0, MIPS_COP_0_STATUS		# enable all interrupts
+	nop
+	sw	zero, _C_LABEL(curlwp)		# set curlwp NULL for stats

 	/* Try to zero some free pages. */
 	lw	t0, _C_LABEL(uvm) + UVM_PAGE_IDLE_ZERO
>Release-Note:
>Audit-Trail:
>Unformatted: