M carrera/fns.h => carrera/fns.h +1 -0
@@ 6,6 6,7 @@ void addportintr(int(*)(void));
#define affinity(x) m
void allflush(void*, ulong);
void arginit(void);
+#define balance(x) m
int busprobe(ulong);
void cleancache(void);
void clearmmucache(void);
M pc/fns.h => pc/fns.h +1 -0
@@ 3,6 3,7 @@
void aamloop(int);
void addconf(char*, char*);
#define affinity(x) m
+#define balance(x) m
void bbinit(void);
void bigcursor(void);
void bootargs(ulong);
M port/portdat.h => port/portdat.h +1 -0
@@ 578,6 578,7 @@ struct Proc
Mach *mp; /* machine this process last ran on */
ulong affinity; /* affinity counter for that mach */
+ ulong movetime; /* ticks when proc was last reassigned */
void *ureg; /* User registers for notes */
void *dbgreg; /* User registers for devproc */
M port/proc.c => port/proc.c +1 -1
@@ 114,7 114,7 @@ ready(Proc *p)
s = splhi();
if(p->state == Running)
- rq = &m->loq;
+ rq = &balance(p)->loq;
else
rq = &affinity(p)->hiq;
M power/fns.h => power/fns.h +1 -0
@@ 2,6 2,7 @@
#define affinity(x) m
void arginit(void);
+#define balance(x) m
void clearmmucache(void);
void clock(Ureg*);
void clockinit(void);