Issue: Compiling a program while trying to use X results in the mouse
      repeatedly freezing for a moment, then coming back to life.

This is due to the problem discussed on tech-kern using the highly
technical designation ``sucky performance''. :-)
For more details see the email from
Ross Harvey      http://mail-index.netbsd.org/tech-kern/1999/01/23/0002.html
and
Bill Sommerfeld  http://mail-index.netbsd.org/tech-kern/1999/01/23/0003.html

This problem was solved by scheduler mods in -current on 1/23/99

The following patch should apply to NetBSD 1.3, 1.3.1, 1.3.2, and 1.3.3.

Instructions:
   Assuming you have the kernel source extracted and ready to build,
   patch -d /sys/kern < 1.3schedpatch

Index: kern_exit.c
===================================================================
RCS file: /cvsroot/src/sys/kern/kern_exit.c,v
retrieving revision 1.61
retrieving revision 1.63
diff -u -r1.61 -r1.63
--- kern_exit.c 1998/11/11 22:37:13     1.61
+++ kern_exit.c 1999/01/23 22:23:19     1.63
@@ -452,6 +452,11 @@
                               wakeup((caddr_t)p->p_pptr);
                               return (0);
                       }
+
+                       /* Charge us for our child's sins */
+                       curproc->p_estcpu = min(curproc->p_estcpu +
+                                               p->p_estcpu, UCHAR_MAX);
+
                       p->p_xstat = 0;
                       ruadd(&q->p_stats->p_cru, p->p_ru);
                       pool_put(&rusage_pool, p->p_ru);
Index: kern_fork.c
===================================================================
RCS file: /cvsroot/src/sys/kern/kern_fork.c,v
retrieving revision 1.50
retrieving revision 1.52
diff -u -r1.50 -r1.52
--- kern_fork.c 1998/11/11 22:44:25     1.50
+++ kern_fork.c 1999/01/23 22:23:19     1.52
@@ -315,6 +315,13 @@
                       ktradref(p2);
       }
#endif
+
+        /*
+         * set priority of child to be that of parent
+        * XXX should move p_estcpu into the region of struct proc which gets
+        * copied.
+         */
+        p2->p_estcpu = p1->p_estcpu;

       /*
        * This begins the section where we must prevent the parent