UPAGES 8; dumpstack 96; msgbufmap; kernacc rounding bug fixed
[unix-history] / usr / src / sys / kern / kern_clock.c
index 3247eda..fc68fc6 100644 (file)
@@ -1,4 +1,4 @@
-/*     %H%     3.21    kern_clock.c    */
+/*     kern_clock.c    4.5     %G%     */
 
 #include "../h/param.h"
 #include "../h/systm.h"
 
 #include "../h/param.h"
 #include "../h/systm.h"
@@ -17,6 +17,9 @@
 #include "../h/mtpr.h"
 #include "../h/clock.h"
 
 #include "../h/mtpr.h"
 #include "../h/clock.h"
 
+#include "dh.h"
+#include "dz.h"
+
 #define        SCHMAG  9/10
 
 /*
 #define        SCHMAG  9/10
 
 /*
@@ -116,11 +119,18 @@ out:
         * so we can't enter them recursively and transpose characters.
         */
        if (rcnt >= rintvl) {
         * so we can't enter them recursively and transpose characters.
         */
        if (rcnt >= rintvl) {
+#if NDH11 > 0
                dhtimer();
                dhtimer();
+#endif
+#if NDZ11 > 0
                dztimer();
                dztimer();
+#endif
                rcnt = 0;
        } else
                rcnt++;
                rcnt = 0;
        } else
                rcnt++;
+#ifdef CHAOS
+       ch_clock();
+#endif
        if (!noproc) {
                s = u.u_procp->p_rssize;
                u.u_vm.vm_idsrss += s;
        if (!noproc) {
                s = u.u_procp->p_rssize;
                u.u_vm.vm_idsrss += s;
@@ -172,13 +182,16 @@ out:
                runrun++;
        }
        if (lbolt >= HZ) {
                runrun++;
        }
        if (lbolt >= HZ) {
+#if VAX==780
                extern int hangcnt;
                extern int hangcnt;
+#endif
 
                if (BASEPRI(ps))
                        return;
                lbolt -= HZ;
                ++time;
                (void) spl1();
 
                if (BASEPRI(ps))
                        return;
                lbolt -= HZ;
                ++time;
                (void) spl1();
+#if VAX==780
                /*
                 * machdep.c:unhang uses hangcnt to make sure uba
                 * doesn't forget to interrupt (this has been observed).
                /*
                 * machdep.c:unhang uses hangcnt to make sure uba
                 * doesn't forget to interrupt (this has been observed).
@@ -187,6 +200,7 @@ out:
                 */
                if (hangcnt)
                        hangcnt--;
                 */
                if (hangcnt)
                        hangcnt--;
+#endif
                runrun++;
                wakeup((caddr_t)&lbolt);
                for(pp = &proc[0]; pp < &proc[NPROC]; pp++)
                runrun++;
                wakeup((caddr_t)&lbolt);
                for(pp = &proc[0]; pp < &proc[NPROC]; pp++)
@@ -255,17 +269,17 @@ out:
                        wakeup((caddr_t)&proc[2]);
                if (USERMODE(ps)) {
                        pp = u.u_procp;
                        wakeup((caddr_t)&proc[2]);
                if (USERMODE(ps)) {
                        pp = u.u_procp;
-#ifdef ERNIE
                        if (pp->p_uid)
                                if (pp->p_nice == NZERO && u.u_vm.vm_utime > 600 * HZ)
                                        pp->p_nice = NZERO+4;
                        (void) setpri(pp);
                        pp->p_pri = pp->p_usrpri;
                        if (pp->p_uid)
                                if (pp->p_nice == NZERO && u.u_vm.vm_utime > 600 * HZ)
                                        pp->p_nice = NZERO+4;
                        (void) setpri(pp);
                        pp->p_pri = pp->p_usrpri;
-#endif
                }
        }
                }
        }
+#if VAX==780
        if (!BASEPRI(ps))
                unhang();
        if (!BASEPRI(ps))
                unhang();
+#endif
        if (USERMODE(ps)) {
                /*
                 * We do this last since it
        if (USERMODE(ps)) {
                /*
                 * We do this last since it