M pc/mem.h => pc/mem.h +1 -1
@@ 22,7 22,7 @@
/*
* Time
*/
-#define HZ (82) /* clock frequency */
+#define HZ (100) /* clock frequency */
#define MS2HZ (1000/HZ) /* millisec per clock tick */
#define TK2SEC(t) ((t)/HZ) /* ticks to seconds */
#define MS2TK(t) (((t)*HZ+500)/1000) /* milliseconds to closest tick */
M port/proc.c => port/proc.c +5 -5
@@ 133,7 133,7 @@ anyhigher(void)
enum
{
- Squantum = (HZ+Nrq-1)/Nrq,
+ Squantum = 1,
};
void
@@ 150,13 150,13 @@ ready(Proc *p)
/* history counts */
if(p->state == Running){
p->rt++;
- pri = ((p->art + (p->rt<<1))>>2)/Squantum;
+ pri = (p->art + p->rt)/2;
} else {
- p->art = (p->art + (p->rt<<1))>>2;
+ p->art = (p->art + p->rt + 2)/2;
+ pri = (p->art + p->rt)/2;
p->rt = 0;
- pri = p->art/Squantum;
}
- pri = p->basepri - pri;
+ pri = p->basepri - (pri/Squantum);
if(pri < 0)
pri = 0;
M port/sysproc.c => port/sysproc.c +1 -1
@@ 194,8 194,8 @@ sysrfork(ulong *arg)
* (i.e. has bad properties) and has to be discarded.
*/
flushmmu();
- p->priority = up->priority;
p->basepri = up->basepri;
+ p->priority = up->basepri;
p->fixedpri = up->fixedpri;
p->mp = up->mp;
wm = up->wired;