cvs commit: src/sys/kern subr_trap.c
Jeff Roberson
jroberson at chesapeake.net
Sat Dec 25 23:33:59 PST 2004
I forgot to mention. This change was made possible by observing thread
states with schedgraph.py. :-)
On Sun, 26 Dec 2004, Jeff Roberson wrote:
> This causes a slight slowdown with sched_ule because ule depends on extra
> context switches to help out the load balancer. I'm in the process of
> making a slightly more agressive rebalancer at the moment, after which it
> will be an improvement on ULE as well. Allowing the thread to continue to
> run even though it is not technically the highest priority thread is
> acceptable in this case because priority propagation ensures that we are
> not running when something as important as an interrupt thread is still
> waiting to run.
>
> On Sun, 26 Dec 2004, Jeff Roberson wrote:
>
> > jeff 2004-12-26 07:30:36 UTC
> >
> > FreeBSD src repository
> >
> > Modified files:
> > sys/kern subr_trap.c
> > Log:
> > - Run sched_userret() after thread_userret(). Before, sched_userret() would
> > lower the priority of the returning thread to a user priority before
> > calling into thread_userret() which would call wakeup() which in turn would
> > cause the returning thread to eventually context switch rather than
> > completing its slice. Allowing this thread to complete its slice first
> > yields a 15% performance improvement in super-smack on my dual opteron with
> > 4BSD.
> >
> > Revision Changes Path
> > 1.277 +4 -5 src/sys/kern/subr_trap.c
> >
>
More information about the cvs-src
mailing list