plan 9 kernel history: overview | file list | diff list

1992/0404/port/segment.c (diff list | history)

1992/0321/sys/src/9/port/segment.c:275,2941992/0404/sys/src/9/port/segment.c:275,292 (short | long | prev | next)
1991/0706    
	if(!canqlock(&ireclaim))	/* Somebody is already cleaning the page cache */ 
		return; 
 
1991/1024    
	for(;;) { 
		lock(&palloc); 
1992/0314    
		for(p = palloc.head; p; p = p->next) { 
1992/0225    
			if(p->image) 
1992/0404    
	lock(&palloc); 
	for(p = palloc.head; p; p = p->next) { 
		if(p->image) 
		if(p->ref == 0) 
		if(p->image != &swapimage) { 
			lockpage(p); 
1992/0225    
			if(p->ref == 0) 
1992/0314    
			if(p->image != &swapimage) { 
				lockpage(p); 
				if(p->ref == 0) 
					uncachepage(p); 
				unlockpage(p); 
			} 
1992/0404    
				uncachepage(p); 
			unlockpage(p); 
1992/0314    
		} 
1991/0706    
		unlock(&palloc); 
	} 
1992/0404    
	unlock(&palloc); 
1991/0706    
	qunlock(&ireclaim); 
} 
 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)