From owner-cvs-all@FreeBSD.ORG Sun Dec 26 07:33:11 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 798A316A4CE; Sun, 26 Dec 2004 07:33:11 +0000 (GMT) Received: from mail.chesapeake.net (chesapeake.net [208.142.252.6]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1E0DC43D49; Sun, 26 Dec 2004 07:33:11 +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 iBQ7XAOx008249; Sun, 26 Dec 2004 02:33:10 -0500 (EST) (envelope-from jroberson@chesapeake.net) Received: from localhost (jroberson@localhost)iBQ7XA8P008240; Sun, 26 Dec 2004 02:33:10 -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:09 -0500 (EST) From: Jeff Roberson In-Reply-To: <200412260730.iBQ7UaDI001958@repoman.freebsd.org> Message-ID: <20041226023047.R60504@mail.chesapeake.net> References: <200412260730.iBQ7UaDI001958@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org 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:11 -0000 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 >