From owner-freebsd-current@FreeBSD.ORG Thu Aug 14 17:17:40 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 738C037B401 for ; Thu, 14 Aug 2003 17:17:40 -0700 (PDT) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id AE0E443FDD for ; Thu, 14 Aug 2003 17:17:39 -0700 (PDT) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.12.9/8.12.9) with ESMTP id h7F0Hcnq013464 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Thu, 14 Aug 2003 20:17:39 -0400 (EDT) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.11.6/8.9.1) id h7F0HXM02554; Thu, 14 Aug 2003 20:17:33 -0400 (EDT) (envelope-from gallatin@cs.duke.edu) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <16188.9885.685630.274388@grasshopper.cs.duke.edu> Date: Thu, 14 Aug 2003 20:17:33 -0400 (EDT) To: "Adam Migus" In-Reply-To: <52019.192.168.4.2.1060657784.squirrel@mail.migus.org> References: <52019.192.168.4.2.1060657784.squirrel@mail.migus.org> X-Mailer: VM 6.75 under 21.1 (patch 12) "Channel Islands" XEmacs Lucid cc: current@freebsd.org Subject: Re: make buildkernel hang with SCHED_ULE X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Aug 2003 00:17:40 -0000 Adam Migus writes: > Folks, > While doing some performance analysis (doing make -j5 buildkernel) > on a set of 14 kernels I've hit one using the SCHED_ULE scheduler > that hangs. It happens every time but not necessarily in the same > place in the make. > <...> > The hardware is a dual Xeon box. The kernel is SMP w/ SCHED_ULE > instead of SCHED_4BSD, the options required for diskless and the > following two options: You have machdep.hlt_logical_cpus: 1 in your sysctl output. [BTW, lots of people read this mail via the web archives at http://docs.freebsd.org/cgi/getmsg.cgi?fetch=1073654+0+current/freebsd-current, where its impossible to view mime; it would be MUCH better for us if appended things like stack traces and sysctl output rather then scrambling them for no reason] SCHED_ULE is incompatible with halting logical CPUs. Something about it does't know the core isn't running, so it schedules a job there which never runs, and then it gets confused. When I boot a 1 CPU P4 with an SMP kernel and machdep.hlt_logical_cpus=1, it hangs before making it to multiuser mode.. Try setting machdep.hlt_logical_cpus=0 (via sysctl now, and in /boot/loader.conf so it doesn't happen again). Drew