| plan 9 kernel history: overview | file list | diff list |
1992/0628/port/swap.c (diff list | history)
| 1992/0625/sys/src/9/port/swap.c:37,63 – 1992/0628/sys/src/9/port/swap.c:37,50 (short | long | prev | next) | ||
| 1991/0705 | newswap(void) { char *look; | |
| 1992/0628 | look = memchr(swapalloc.swmap, 0, conf.nswap); if(look == 0) panic("inconsistant swap"); | |
| 1991/0705 | *look = 1; | |
| 1991/0928 | swapalloc.free--; | |
| 1992/0625/sys/src/9/port/swap.c:116,122 – 1992/0628/sys/src/9/port/swap.c:103,109 | ||
| 1992/0301 | ||
| 1992/0303 | for(;;) { p++; | |
| 1992/0628 | if(p >= ep) | |
| 1992/0303 | p = proctab(0); | |
| 1991/0705 | ||
| 1992/0303 | if(p->state == Dead || p->kp) | |
| 1992/0625/sys/src/9/port/swap.c:126,131 – 1992/0628/sys/src/9/port/swap.c:113,119 | ||
| 1992/0303 | for(i = 0; i < NSEG; i++) { if(!needpages(junk)) goto loop; | |
| 1992/0628 | ||
| 1992/0303 | if(s = p->seg[i]) { | |
| 1992/0304 | type = s->type&SG_TYPE; switch(type) { | |
| 1992/0625/sys/src/9/port/swap.c:264,281 – 1992/0628/sys/src/9/port/swap.c:252,269 | ||
| 1991/0705 | case SG_STACK: case SG_SHARED: | |
| 1992/0307 | case SG_SHDATA: | |
| 1992/0628 | daddr = newswap(); | |
| 1992/0625 | lock(outp); | |
| 1991/0705 | outp->ref++; uncachepage(outp); | |
| 1992/0625 | unlock(outp); | |
| 1991/0705 |
| |
| 1992/0628 | outp->daddr = daddr; | |
| 1991/0705 | cachepage(outp, &swapimage); *pg = (Page*)(daddr|PG_ONSWAP); | |