[9fans] taslock.c change.
can someone explain why this panic was removed from taslock.c?
taslock.c:145,153 - /n/sources/plan9/sys/src/9/port//taslock.c:145,150
panic("corrupt ilock %p pc=%luX m=%p isilock=%d",
l, l->pc, l->m, l->isilock);
}
- if(l->m == MACHP(m->machno))
- panic("ilock: deadlock on cpu%d pc=%luX lockpc=%luX\n",
- m->machno, pc, l->pc);
for(;;){
lockstats.inglare++;
splx(x);
Re: [9fans] taslock.c change.
> taslock.c:145,153 - /n/sources/ plan9/sys/src/9/port//taslock.c:145,150[color=blue]
> panic("corrupt ilock %p pc=%luX m=%p isilock=%d",
> l, l->pc, l->m, l->isilock);
> }
> - if(l->m == MACHP(m->machno))
> - panic("ilock: deadlock on cpu%d pc=%luX lockpc=%luX\n",
> - m->machno, pc, l->pc);
> for(;;){
> lockstats.inglare++;
> splx(x);[/color]
i removed them because they contradicted the
comment a few lines up:
/*
* Cannot also check l->pc and l->m here because
* they might just not be set yet, or the lock might
* even have been let go.
*/
and so i thought the deadlock message i was getting
was actually incorrect.
it should go back, i suppose -- my problem turned
out that the deadlock message was mostly correct
and that some stray kernel code was scribbling on
other people's memory. but if it does go back
the coherence lines in iunlock should move up one
statement, i believe.
russ