From owner-cvs-all@FreeBSD.ORG Sun Dec 26 07:33:58 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E32B016A4CE; Sun, 26 Dec 2004 07:33:58 +0000 (GMT) Received: from mail.chesapeake.net (chesapeake.net [208.142.252.6]) by mx1.FreeBSD.org (Postfix) with ESMTP id 853FB43D4C; Sun, 26 Dec 2004 07:33:58 +0000 (GMT) (envelope-from jroberson@chesapeake.net) Received: from mail.chesapeake.net (localhost [127.0.0.1]) by mail.chesapeake.net (8.12.10/8.12.10) with ESMTP id iBQ7XwOx008444; Sun, 26 Dec 2004 02:33:58 -0500 (EST) (envelope-from jroberson@chesapeake.net) Received: from localhost (jroberson@localhost)iBQ7Xv5c008440; Sun, 26 Dec 2004 02:33:58 -0500 (EST) (envelope-from jroberson@chesapeake.net) X-Authentication-Warning: mail.chesapeake.net: jroberson owned process doing -bs Date: Sun, 26 Dec 2004 02:33:57 -0500 (EST) From: Jeff Roberson To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org In-Reply-To: <20041226023047.R60504@mail.chesapeake.net> Message-ID: <20041226023340.F60504@mail.chesapeake.net> References: <200412260730.iBQ7UaDI001958@repoman.freebsd.org> <20041226023047.R60504@mail.chesapeake.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: Re: cvs commit: src/sys/kern subr_trap.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Dec 2004 07:33:59 -0000 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 > > >