--- /n/sources/plan9/sys/src/9/port/proc.c Thu May 14 00:00:00 2015 +++ /sys/src/9/port/proc.c Thu Jun 25 00:00:00 2026 @@ -176,8 +176,10 @@ sched(void) m->readied = 0; up = p; up->state = Running; + lock(runq); up->mach = MACHP(m->machno); m->proc = up; + unlock(runq); mmuswitch(up); gotolabel(&up->sched); } @@ -1377,6 +1379,8 @@ procflushseg(Segment *s) continue; for(ns = 0; ns < NSEG; ns++) if(p->seg[ns] == s){ + splhi(); + lock(runq); p->newtlb = 1; for(nm = 0; nm < conf.nmach; nm++){ if(MACHP(nm)->proc == p){ @@ -1384,6 +1388,8 @@ procflushseg(Segment *s) nwait++; } } + unlock(runq); + spllo(); break; } }