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

1991/1111/ss/clock.c (diff list | history)

1991/1111/sys/src/9/ss/clock.c:42,481991/1113/sys/src/9/ss/clock.c:42,49 (short | long | prev | next)
1990/1223    
clock(Ureg *ur) 
{ 
	Proc *p; 
1990/1227    
	ulong i; 
1991/1113    
	ulong i, ss, nrun = 0; 
	Segment *s; 
1990/1223    
 
1990/1227    
	i = ctr->lim1;	/* clear interrupt */ 
	USED(i); 
1991/1111/sys/src/9/ss/clock.c:49,581991/1113/sys/src/9/ss/clock.c:50,63
1990/1223    
	m->ticks++; 
	p = m->proc; 
	if(p){ 
1991/1113    
		nrun = 1; 
1990/1223    
		p->pc = ur->pc; 
		if (p->state==Running) 
			p->time[p->insyscall]++; 
	} 
1991/1113    
	nrun = (nrdy+nrun)*1000; 
	MACHP(0)->load = (MACHP(0)->load*19+nrun)/20; 
 
1990/1223    
	checkalarms(); 
	kbdclock(); 
	mouseclock(); 
1991/1111/sys/src/9/ss/clock.c:66,731991/1113/sys/src/9/ss/clock.c:71,80
1991/0821    
				sched(); 
		} 
1991/0711    
		if((ur->psr&PSRPSUPER) == 0){ 
1991/0723    
/*			*(ulong*)(USTKTOP-BY2WD) += TK2MS(1); /**/ 
1991/1113    
			ss = spllo();				/* Low because we may fault */ 
			*(ulong*)(USTKTOP-BY2WD) += TK2MS(1); 
1991/1111    
			notify(ur); 
1991/1113    
			splx(ss);				/* return hi for restore */ 
1991/0711    
		} 
1990/1223    
	} 
} 


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