Re(2): strange pausing
Matthew Dillon
dillon at apollo.backplane.com
Sat Mar 20 15:46:06 PST 2004
That didn't fix it. I just committed some additional work that does fix
it.
It turns out that there was a serious priority initialization bug in
the DragonFly fork() code that was giving all newly forked children
(no matter what the niceness or priority) a realtime p_priority. This
priority would persist until the next scheduler clock interrupt. The
reason? The p_priority field in the child proc was not being initialized.
Oops!
That is now fixed.
I also revamped the child estcpu inheritance. I give newly forked
children a slightly higher estcpu then their parent, making their
operation initially somewhat batch-like. If they are interactive they
will float back down, if not the initial batch-like estcpu means that
they will not interfere with interactive processes already running
on the system.
In anycase, with these fixes I can do a make -j 8 buildworld in an
xterm on my workstation (an AMD XP box now), and grab and move around
the xterm's without any glitches.
-Matt
Matthew Dillon
<dillon at xxxxxxxxxxxxx>
More information about the Kernel
mailing list