shithub: front

Download patch

ref: 4a7c44fee45b9ba2e2e9ee09071d5ada7c41176d
parent: f1e7d6da67e4eb762fba669a4d324cfdc55ddae1
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Tue Jul 23 17:00:04 EDT 2024

kernel: improve nlocks print in sleep()

--- a/sys/src/9/port/proc.c
+++ b/sys/src/9/port/proc.c
@@ -818,15 +818,18 @@
 	int s;
 	void (*pt)(Proc*, int, vlong);
 
-	s = splhi();
-
 	if(up->nlocks)
-		print("process %lud sleeps with %d locks held, last lock %#p locked at pc %#p, sleep called from %#p\n",
-			up->pid, up->nlocks, up->lastlock, up->lastlock->pc, getcallerpc(&r));
+		print("process %s %lud sleeps with %d locks held, "
+			"last lock %#p locked at pc %#p, sleep called from %#p\n",
+			up->text, up->pid, up->nlocks,
+			up->lastlock, up->lastlock->pc, getcallerpc(&r));
+
+	s = splhi();
 	lock(r);
 	lock(&up->rlock);
 	if(r->p != nil){
-		print("double sleep called from %#p, %lud %lud\n", getcallerpc(&r), r->p->pid, up->pid);
+		iprint("double sleep called from %#p, %s %lud -> %s %lud\n",
+			getcallerpc(&r), r->p->text, r->p->pid, up->text, up->pid);
 		dumpstack();
 	}
 
--