DragonFly BSD
DragonFly kernel List (threaded) for 2004-03
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re(2): strange pausing


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Sat, 20 Mar 2004 15:43:56 -0800 (PST)

    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@xxxxxxxxxxxxx>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]