Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Dec 2004 02:33:09 -0500 (EST)
From:      Jeff Roberson <jroberson@chesapeake.net>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern subr_trap.c
Message-ID:  <20041226023047.R60504@mail.chesapeake.net>
In-Reply-To: <200412260730.iBQ7UaDI001958@repoman.freebsd.org>
References:  <200412260730.iBQ7UaDI001958@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041226023047.R60504>