| plan 9 kernel history: overview | file list | diff list |
1991/0831/port/stream.c (diff list | history)
| 1991/0811/sys/src/9/port/stream.c:43,53 – 1991/0831/sys/src/9/port/stream.c:43,50 (short | long | prev | next) | ||
| 1990/0227 | */ typedef struct { int size; | |
| 1990/1127 |
| |
| 1990/0312 | Blist; | |
| 1990/03292 |
| |
| 1990/0312 |
| |
| 1990/0227 | } Bclass; Bclass bclass[Nclass]={ { 0 }, | |
| 1991/0811/sys/src/9/port/stream.c:74,80 – 1991/0831/sys/src/9/port/stream.c:71,77 | ||
| 1990/0227 | qlist = (Queue *)ialloc(conf.nqueue * sizeof(Queue), 0); | |
| 1990/1127 | /* | |
| 1991/0831 | * set block classes | |
| 1990/1127 | */ | |
| 1990/0227 | n = conf.nblock; for(class = 0; class < Nclass; class++){ | |
| 1991/0811/sys/src/9/port/stream.c:81,87 – 1991/0831/sys/src/9/port/stream.c:78,83 | ||
| 1990/0227 | if(class < Nclass-1) n = n/2; bcp = &bclass[class]; | |
| 1990/1127 |
| |
| 1990/0227 | } | |
| 1990/0911 | ||
| 1991/0811/sys/src/9/port/stream.c:115,123 – 1991/0831/sys/src/9/port/stream.c:111,116 | ||
| 1990/1127 | Block *bp; uchar *cp; | |
| 1990/1214 |
| |
| 1990/1127 | ||
| 1991/0705 | page = newpage(1, 0, 0); page->va = VA(kmap(page)); | |
| 1990/1127 | if(bcp == bclass){ | |
| 1991/0811/sys/src/9/port/stream.c:149,159 – 1991/0831/sys/src/9/port/stream.c:142,152 | ||
| 1990/1127 | * upgrade a level 0 block */ bp = allocb(0); | |
| 1991/0831 | lock(bclass); | |
| 1990/1127 | bclass->made--; bcp->made++; bp->flags = bcp - bclass; | |
| 1991/0831 | unlock(bclass); | |
| 1990/1127 | /* * tack on the data area | |
| 1991/0811/sys/src/9/port/stream.c:199,216 – 1991/0831/sys/src/9/port/stream.c:192,203 | ||
| 1990/0227 | */ lock(bcp); while(bcp->first == 0){ | |
| 1990/1127 |
| |
| 1990/0227 |
| |
| 1990/03292 |
| |
| 1990/1113 | if(waserror()){ | |
| 1991/0831 | unlock(bcp); | |
| 1990/1113 | nexterror(); } | |
| 1990/0322 |
| |
| 1990/03292 |
| |
| 1991/0831 | newblock(bcp); | |
| 1990/1113 | poperror(); | |
| 1990/0227 |
| |
| 1991/0811/sys/src/9/port/stream.c:1462,1468 – 1991/0831/sys/src/9/port/stream.c:1449,1456 | ||
| 1990/0911 | for(count = 0, bp = bcp->first; bp; count++, bp = bp->next) ; unlock(bcp); | |
| 1991/0831 | print("%d byte blocks: %d made %d free\n", bcp->size, bcp->made, count); | |
| 1990/0911 | } print("\n"); | |
| 1990/0227 | } | |