From owner-cvs-src@FreeBSD.ORG Thu Jan 29 07:58:36 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7AB4416A4CE for ; Thu, 29 Jan 2004 07:58:36 -0800 (PST) Received: from mail5.speakeasy.net (mail5.speakeasy.net [216.254.0.205]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9ED5E43D39 for ; Thu, 29 Jan 2004 07:58:31 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 22264 invoked from network); 29 Jan 2004 15:58:31 -0000 Received: from dsl027-160-063.atl1.dsl.speakeasy.net (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) encrypted SMTP for ; 29 Jan 2004 15:58:31 -0000 Received: from 10.50.40.205 (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.10/8.12.10) with ESMTP id i0TFwIM2069201; Thu, 29 Jan 2004 10:58:26 -0500 (EST) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: Bruce Evans , src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Date: Thu, 29 Jan 2004 10:35:28 -0500 User-Agent: KMail/1.5.4 References: <200401291235.i0TCZBDG036160@repoman.freebsd.org> In-Reply-To: <200401291235.i0TCZBDG036160@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200401291035.28734.jhb@FreeBSD.org> X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) Subject: Re: cvs commit: src/sys/vm vm_glue.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jan 2004 15:58:36 -0000 On Thursday 29 January 2004 07:35 am, Bruce Evans wrote: > bde 2004/01/29 04:35:11 PST > > FreeBSD src repository > > Modified files: > sys/vm vm_glue.c > Log: > Fixed breakage of scheduling in rev.1.29 of subr_4bsd.c. The > "scheduler" here has very little to do with scheduling. It is actually > the swapper, and it really must be the last SYSINIT'ed item like its > comment says, since proc0 metamorphoses into swapper by calling > scheduler() last in mi_start(), and scheduler() never returns.. Rev.1.29 > of subr_4bsd.c broke this by adding another SI_ORDER_FIRST item > (kproc_start() for schedcpu_thread() onto the SI_SUB_RUN_SCHEDULER_LIST. > The sorting of SYSINITs with identical orders (at all levels) is > apparently nondeterministic, so this resulted in schedule() sometimes > being called second last and schedcpu_thread() not being called at all. > > This quick fix just changes the code to almost match the comment > (SI_ORDER_FIRST -> SI_ORDER_ANY). "LAST" is misspelled "ANY", and > there is no way to ensure that there is only 1 very lst SYSINIT. > A more complete fix would remove the SYSINIT obfuscation. Wow, good catch. My bad. :( -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org