From owner-freebsd-current@FreeBSD.ORG Fri Jul 9 02:19:59 2004 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 65C3416A4CE; Fri, 9 Jul 2004 02:19:59 +0000 (GMT) Received: from basalt.tackymt.homeip.net (YahooBB219181148048.bbtec.net [219.181.148.48]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9F3BD43D5A; Fri, 9 Jul 2004 02:19:58 +0000 (GMT) (envelope-from taku@tackymt.homeip.net) Received: from localhost (localhost [127.0.0.1]) by basalt.tackymt.homeip.net (Postfix) with ESMTP id B3C891075D; Fri, 9 Jul 2004 11:19:57 +0900 (JST) Received: from maestro.tackymt.homeip.net (unknown [IPv6:2001:3e0:577:0:240:26ff:fe49:1c9d]) by basalt.tackymt.homeip.net (Postfix) with ESMTP; Fri, 9 Jul 2004 11:19:57 +0900 (JST) Date: Fri, 9 Jul 2004 11:19:55 +0900 From: Taku YAMAMOTO To: John Baldwin Message-Id: <20040709111955.2901ce5b.taku@tackymt.homeip.net> In-Reply-To: <200407081317.53981.jhb@FreeBSD.org> References: <20040705184940.GA2651@tybalt.greiner.local> <20040708222143.0f24c076.taku@tackymt.homeip.net> <200407081317.53981.jhb@FreeBSD.org> X-Mailer: Sylpheed version 0.9.12-gtk2-20040622 (GTK+ 2.2.4; i386-portbld-freebsd5.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at tackymt.homeip.net cc: freebsd-current@FreeBSD.org Subject: Re: Native preemption is the culprit [was Re: today's CURRENT lockups] 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, 09 Jul 2004 02:19:59 -0000 On Thu, 8 Jul 2004 13:17:53 -0400 John Baldwin wrote: > On Thursday 08 July 2004 09:21 am, Taku YAMAMOTO wrote: > > greetings, > > > > > > A quick glance showed me that there are some interesting code paths in > > sched_ule.c that can be problematic in SMP case. > > > > 1. sched_choose() => kseq_idled() => sched_add() > > 2. sched_choose() => kseq_assign() => sched_add() > > 3. sched_runnable() => kseq_assign() => sched_add() > > > > Here is the patch that re-enables preemption except for the above three > > cases. > > This looks correct. I'll test it locally first. Has it worked for you all > day? My machine (HTT) has been up for 20 hours without a hang since last update. I tried to stress it in various ways (fsck -n, buildworld & buildkernel in parallel, burning a CD, etc.) but failed to crash it. I'm bit afraid since the code is not tested on real SMP machines. How is it going on yours? -- -|-__ YAMAMOTO, Taku | __ < Post Scriptum to the people who know me as taku@cent.saitama-u.ac.jp: My email address has been changed since April, because I've left the university.