cvs commit: src/sys/kern sched_ule.c (fwd)

From: Jeff Roberson <jroberson_at_chesapeake.net>
Date: Tue, 17 Jun 2003 02:45:18 -0400 (EDT)
My last few commits, including this one, went a long way towards improving
ULE's interactive responsiveness under heavy load.  I was just able to do
a make -j32 of my kernel while browsing the web with mozilla and commiting
this change.  Mozilla, my shell, cvs, etc. were all as responsive as they
are on an unloaded system.

This is on a 2ghz laptop so your mileage may not be exactly the same.
This is a significant improvement over the old state of things.  If the
interactive perf was chasing you away before, ULE should be much better
now.

Cheers,
Jeff


---------- Forwarded message ----------
Date: Mon, 16 Jun 2003 23:39:51 -0700 (PDT)
From: Jeff Roberson <jeff_at_FreeBSD.org>
To: src-committers_at_FreeBSD.org, cvs-src_at_FreeBSD.org, cvs-all_at_FreeBSD.org
Subject: cvs commit: src/sys/kern sched_ule.c

jeff        2003/06/16 23:39:51 PDT

  FreeBSD src repository

  Modified files:
    sys/kern             sched_ule.c
  Log:
   - Add a new function "sched_interact_update()" that scales back the sleep
     and run time.
   - Scale the sleep and run time back via sched_interact_update() in more
     places.  This is to keep the statistic more accurate.
   - Charge a parent one tick for forking a child.
   - Add only the run time and not the sleep time to the parents kg when a
     thread exits.  This allows us to give a penalty for having an expensive
     thread exit but does not give a bonus for having an interactive thread
     exit.
   - Change the SLP_RUN_THROTTLE to limit us to 4/5th and not 1/2.
   - Change the SLP_RUN_MAX to two seconds.  This keeps bursty interactive
     applications like mozilla and openoffice in the interactive range even
     through expensive tasks.
   - Recalculate the slice after every sleep.  This ensures that once a task
     has been marked interactive it only has a slice of 1 at the risk of
     giving tasks that sleep for a very brief period a longer time slice.

  Revision  Changes    Path
  1.42      +20 -23    src/sys/kern/sched_ule.c
Received on Mon Jun 16 2003 - 21:45:22 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:12 UTC