From owner-freebsd-current Thu Mar 14 15:21: 9 2002 Delivered-To: freebsd-current@freebsd.org Received: from smtp-send.myrealbox.com (smtp-send.myrealbox.com [192.108.102.143]) by hub.freebsd.org (Postfix) with ESMTP id 5E79437B419 for ; Thu, 14 Mar 2002 15:21:01 -0800 (PST) Received: from localhost qhwt@smtp-send.myrealbox.com [211.18.233.24] by smtp-send.myrealbox.com with Novell NIMS $Revision: 2.88 $ on Novell NetWare; Thu, 14 Mar 2002 16:20:56 -0700 Date: Fri, 15 Mar 2002 08:20:53 +0900 From: qhwt@myrealbox.com To: current@FreeBSD.ORG Subject: Re: Won't boot after the commits to timecounter code Message-ID: <20020314232053.GA355.qhwt@myrealbox.com> References: <20020306134746.GA342@gzl> <20020307040247.T9712-100000@gamplex.bde.org> <20020307014007.GA622@gzl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020307014007.GA622@gzl> User-Agent: Mutt/1.5.0i X-Dispatcher: imput version 20000228(IM140) Lines: 39 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Thu, Mar 07, 2002 at 10:40:07AM +0900, I wrote: > > Apparently you have KTR enabled (not the default in GENERIC). I think > > WITNESS+KTR already caused nasty recursion from the mtx_lock_spin, and > > we now get an endless loop when nanotime() is called with an invalid > > timecounter in the following call chain: > > > > tc_init -> tc_windup -> tco_delta -> i8254_get_timecount -> mtx_foo -> > > witness_foo -> ktr_foo -> nanotime, > > > > just after nanotime has somehow recursed back into i8254_get_timecounter > > without causing endless recursion! > > Yes, I have the following KTR options enabled (I think I brought this from > NOTES about a year before): > options KTR > options KTR_EXTEND > options KTR_ENTRIES=1024 > options KTR_COMPILE=0x3fffff > options KTR_MASK=0x201208 > options KTR_CPUMASK=0x3 > > but WITNESS is commented out. > > > Try setting MTX_NOWITNESS in the initialization of clock_lock in > > i386/machdep.c. > > O.k., I'll try this(but does it affect a kernel without WITNESS?), then > try a kernel without KTR options. I've found the following: - KTR alone can make this happen; it locked solid with or without WITNESS. - Setting MTX_NOWITNESS in the initialization of clock_lock didn't work. - If I disable KTR, it just works fine without any patches. - If I enable KTR with KTR_LOCK in "options KTR_MASK", it freezes after Timecounter "i8254" frequency 1193182 Hz message. - If I enable KTR without KTR_LOCK in "options KTR_MASK", it boots but it locks solid the moment I inserted a pccard (I'm using OLDCARD). To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message