From owner-freebsd-current@FreeBSD.ORG Wed Jul 18 23:02:06 2007 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8082116A409 for ; Wed, 18 Jul 2007 23:02:06 +0000 (UTC) (envelope-from r.c.ladan@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.174]) by mx1.freebsd.org (Postfix) with ESMTP id 02F9713C48D for ; Wed, 18 Jul 2007 23:02:05 +0000 (UTC) (envelope-from r.c.ladan@gmail.com) Received: by ug-out-1314.google.com with SMTP id o4so468482uge for ; Wed, 18 Jul 2007 16:02:04 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:cc:subject:references:in-reply-to:x-enigmail-version:content-type:content-transfer-encoding; b=nATfdIJHH59tKJNRa8whVf/E2f03A69UW5/g7xuZpFIhvCD12n2ku9etpQgqpJ0BmwAR3mHNxM/cLsDAY1ipXkbdhoN8bSv0fcBMMUMd1rOKksxO7KVYlf0YPP9vwgU+yME1V6plaCtwV6zWxyECTqzi/DNaC4UF7QiW9KWpQfA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:user-agent:mime-version:to:cc:subject:references:in-reply-to:x-enigmail-version:content-type:content-transfer-encoding; b=KPNUfdIdb+u465KKF/Pws8txglEOD4By7FxN10ZlewbC5aQAKNf6V6Alj4xafLiSQIIcfUVjt2uqSBRg1c22yZeqyGRVyPRJCy9iFGT51Z2LK919XyDJXZowrnLZ/ahihOdZxEYuA+4tOCpvSdq5Q4jIaxp7nni8Vk7EPQvp4Ns= Received: by 10.67.89.6 with SMTP id r6mr677213ugl.1184799724883; Wed, 18 Jul 2007 16:02:04 -0700 (PDT) Received: from 195-241-221-201.dsl.ip.tiscali.nl ( [195.241.221.201]) by mx.google.com with ESMTPS id s7sm6074153uge.2007.07.18.16.02.04 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 18 Jul 2007 16:02:04 -0700 (PDT) Message-ID: <469E9BDB.7020500@gmail.com> Date: Thu, 19 Jul 2007 01:01:47 +0200 From: Rene Ladan User-Agent: Thunderbird 2.0.0.4 (X11/20070616) MIME-Version: 1.0 To: Jeff Roberson References: <20070716233030.D92541@10.0.0.1> <469E83F8.3090103@gmail.com> <20070718142649.Y561@10.0.0.1> <469E897B.7080100@gmail.com> <20070718150613.W561@10.0.0.1> In-Reply-To: <20070718150613.W561@10.0.0.1> X-Enigmail-Version: 0.95.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: current@freebsd.org Subject: Re: ULE/SCHED_SMP diff for 7.0 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 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: Wed, 18 Jul 2007 23:02:06 -0000 Jeff Roberson schreef: > > On Wed, 18 Jul 2007, Rene Ladan wrote: > >> Jeff Roberson schreef: >>> >>> On Wed, 18 Jul 2007, Rene Ladan wrote: >>> >>>> Jeff Roberson schreef: >>>>> http://people.freebsd.org/~jeff/ule.diff >>>>> >>>>> This patch is scheduled for inclusion in 7.0. I would like anyone who >>>>> cares to run it to validate that it does not create any stability or >>>>> performance regression over the existing ULE. This patch replaces ULE >>>>> with SCHED_SMP, which will now no longer exist as a seperate fork of >>>>> ULE. >>>> [..] >>>> >>>> I cvsupped this evening at 19:34 UTC. The new ULE scheduler works fine >>>> in single-user mode (it survives "make kernel"), but when I go to >>>> multi-user mode I get a "sched_add: trying to run inhibited thread" >>>> panic (2 vmcores lost due to fsck :( ) >>> >>> Can you get me a backtrace? You can enable KDB and DDB in your kernel >>> along with INVARIANTS. Just type 'tr' and record the function names >>> >> >> I found a file #165060 in /var/lost+found . kgdb didn't eat it, but >> strings >> could still extract the attached backtrace. In case you want to >> recompile >> the kernel, it is compiled with -O1 -pipe -march=prescott >> -fno-strict-aliasing > > Can you run gdb kernel.debug from your compile directory. Then type: > > list *(sched_switch+0x26e) > > I need to know the line number of that call. Sure: root@195-241-221-201:/usr/obj/usr/src/sys/RENE#gdb kernel.debug (gdb) list *(sched_switch+0x26e) 0xc051c7b0 is in sched_switch (/usr/src/sys/kern/sched_ule.c:1761). 1756 /* XXX This is bogus. What if the thread is locked elsewhere? */ 1757 td->td_lock = TDQ_LOCKPTR(tdq); 1758 td->td_sched->ts_cpu = cpuid; 1759 tdq_add(tdq, td, SRQ_YIELDING); 1760 } 1761 newtd = choosethread(); 1762 /* 1763 * Call the MD code to switch contexts if necessary. 1764 */ 1765 if (td != newtd) { This on an i386. Regards, Rene -- GPG fingerprint = E738 5471 D185 7013 0EE0 4FC8 3C1D 6F83 12E1 84F6 (subkeys.pgp.net) "It won't fit on the line." -- me, 2001