| plan 9 kernel history: overview | file list | diff list |
1993/0910/port/swap.c (diff list | history)
| 1993/0501/sys/src/9/port/swap.c:109,115 – 1993/0910/sys/src/9/port/swap.c:109,115 (short | long | prev | next) | ||
| 1993/0501 | up->psstate = "Idle"; | |
| 1992/0303 | sleep(&swapalloc.r, needpages, 0); | |
| 1992/0301 | ||
| 1992/0303 |
| |
| 1993/0910 | while(needpages(junk)) { | |
| 1992/0303 | p++; | |
| 1992/0628 | if(p >= ep) | |
| 1992/0303 | p = proctab(0); | |
| 1993/0501/sys/src/9/port/swap.c:142,151 – 1993/0910/sys/src/9/port/swap.c:142,149 | ||
| 1992/0304 | } | |
| 1992/0303 | } | |
| 1991/0705 | } | |
| 1992/0805 |
| |
| 1991/0705 | } | |
| 1992/0805 | ||
| 1992/0303 |
| |
| 1993/0910 | else { | |
| 1992/0725 | if(!cpuserver) freebroken(); /* can use the memory */ | |
| 1991/0705 | ||
| 1993/0501/sys/src/9/port/swap.c:152,158 – 1993/0910/sys/src/9/port/swap.c:150,157 | ||
| 1992/0303 | /* Emulate the old system if no swap channel */ print("no physical memory\n"); tsleep(&swapalloc.r, return0, 0, 1000); | |
| 1993/0910 | for(i = 0; i < NCOLOR; i++) wakeup(&palloc.r[i]); | |
| 1992/0303 | } | |
| 1991/0705 | } | |
| 1992/0303 | goto loop; | |
| 1993/0501/sys/src/9/port/swap.c:211,217 – 1993/0910/sys/src/9/port/swap.c:210,215 | ||
| 1991/0705 | poperror(); qunlock(&s->lk); putseg(s); | |
| 1993/0501/sys/src/9/port/swap.c:322,329 – 1993/0910/sys/src/9/port/swap.c:320,332 | ||
| 1991/0705 | int needpages(void *p) { | |
| 1993/0910 | int i; | |
| 1991/1115 | USED(p); | |
| 1992/0303 |
| |
| 1993/0910 | for(i = 0; i < NCOLOR; i++) if(palloc.freecol[i] < swapalloc.headroom/NCOLOR) return 1; return 0; | |
| 1991/0705 | } void | |