shithub: patch

Download patch

ref: ff3114008ee6d79a3715e66b2ddc28fa6277143d
parent: f71155a4403109118ea14d4219febbe7d970f27a
author: qwx <qwx@sciops.net>
date: Sat Jan 22 20:02:31 EST 2022

remove page-rice: merged

--- a/page-rice
+++ /dev/null
@@ -1,74 +1,0 @@
-diff 6f9838a6a5b80e0253bdc8fb194ad6f15eb655f5 uncommitted
---- a//sys/src/cmd/page.c
-+++ b//sys/src/cmd/page.c
-@@ -54,7 +54,7 @@
- char pagespool[] = "/tmp/pagespool.";
- 
- enum {
--	NPROC = 4,
-+	NPROC = 8,
- 	NBUF = 8*1024,
- 	NPATH = 1024,
- };
-@@ -898,10 +898,6 @@
- {
- 	int fd;
- 
--	qlock(&lru);
--	llinkhead(p);
--	qunlock(&lru);
--
- 	if(p->open != nil && p->image == nil){
- 		fd = openpage(p);
- 		if(fd >= 0){
-@@ -951,7 +947,11 @@
- loadpages(Page *p, int oviewgen)
- {
- 	while(p != nil && viewgen == oviewgen){
--		qlock(p);
-+		qlock(&lru);
-+		llinkhead(p);
-+		qunlock(&lru);
-+		if(!canqlock(p))
-+			goto next;
- 		loadpage(p);
- 		if(viewgen != oviewgen){
- 			unloadpage(p);
-@@ -972,6 +972,7 @@
- 			unlockdisplay(display);
- 		}
- 		qunlock(p);
-+	next:
- 		if(p != current && imemsize >= imemlimit)
- 			break;		/* only one page ahead once we reach the limit */
- 		if(forward < 0){
-@@ -1309,16 +1310,17 @@
- 	writeaddr(p, "/dev/label");
- 	current = p;
- 	oviewgen = viewgen;
-+	if(nproc >= NPROC)
-+		waitpid();
- 	switch(rfork(RFPROC|RFMEM)){
- 	case -1:
- 		sysfatal("rfork: %r");
- 	case 0:
- 		loadpages(p, oviewgen);
-+		nproc--;
- 		exits(nil);
- 	}
--	if(++nproc >= NPROC)
--		if(waitpid() > 0)
--			nproc--;
-+	nproc++;
- }
- 
- /* recursive display lock, called from main proc only */
-@@ -1691,6 +1693,8 @@
- 		addpage(root, "stdin", popenfile, strdup("/fd/0"), -1);
- 	for(; *argv; argv++)
- 		addpage(root, *argv, popenfile, strdup(*argv), -1);
-+	for(i=0; i<NPROC/4; i++)	/* rice */
-+		showpage1(current);
- 
- 	drawlock(1);
- 	for(;;){