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();
}
--
⑨