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

1990/0728/port/page.c (diff list | history)

1990/0720/sys/src/9/port/page.c:560,5691990/0728/sys/src/9/port/page.c:560,574 (short | long | prev | next)
1990/0227    
	lock(&ptealloc); 
	lock(o); 
	if(o->pte){ 
		if(o->npte == n) 
			panic("growpte pointless"); 
1990/0728    
		if(o->npte == n){ 
if(u && u->p) print("%s: ", u->p->text); 
			print("growpte pointless\n"); 
			goto Return; 
		} 
1990/0227    
		p = (PTEA*)(o->pte - 1); 
		if(o->npte > n){ 
1990/0728    
			print("growpte shrink"); 
			goto Return; 
1990/0227    
			nfree = o->npte - n; 
			p->n -= nfree; 
			o->npte -= nfree; 
1990/0720/sys/src/9/port/page.c:589,5971990/0728/sys/src/9/port/page.c:594,600
1990/0227    
			p->n = n; 
			o->npte = n-1; 
		} 
		unlock(o); 
		unlock(&ptealloc); 
		return; 
1990/0728    
		goto Return; 
1990/0227    
	} 
	n++; 
	compactpte(o, n); 
1990/0720/sys/src/9/port/page.c:602,6071990/0728/sys/src/9/port/page.c:605,611
1990/0227    
	p->o = o; 
	o->pte = p+1; 
	o->npte = n-1; 
1990/0728    
    Return: 
1990/0227    
	unlock(o); 
	unlock(&ptealloc); 
} 


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