From owner-freebsd-alpha Wed Jun 13 0:30:30 2001 Delivered-To: freebsd-alpha@freebsd.org Received: from smtp9.xs4all.nl (smtp9.xs4all.nl [194.109.127.135]) by hub.freebsd.org (Postfix) with ESMTP id F09E037B409; Wed, 13 Jun 2001 00:30:12 -0700 (PDT) (envelope-from wkb@freebie.xs4all.nl) Received: from freebie.xs4all.nl (a213-84-32-253.adsl.xs4all.nl [213.84.32.253] (may be forged)) by smtp9.xs4all.nl (8.9.3/8.9.3) with ESMTP id JAA24727; Wed, 13 Jun 2001 09:10:46 +0200 (CEST) Received: (from wkb@localhost) by freebie.xs4all.nl (8.11.3/8.11.3) id f5D6mIH10247; Wed, 13 Jun 2001 08:48:18 +0200 (CEST) (envelope-from wkb) Date: Wed, 13 Jun 2001 08:48:18 +0200 From: Wilko Bulte To: Matthew Jacob Cc: Andrew Gallatin , wilko@FreeBSD.ORG, freebsd-alpha@FreeBSD.ORG, jhb@FreeBSD.ORG Subject: Re: followup on 8 way SMP pani Message-ID: <20010613084818.A10232@freebie.xs4all.nl> Reply-To: wilko@FreeBSD.ORG References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2i In-Reply-To: ; from mjacob@feral.com on Tue, Jun 12, 2001 at 11:33:38PM -0700 X-OS: FreeBSD 4.3-STABLE X-PGP: finger wilko@freebsd.org Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Tue, Jun 12, 2001 at 11:33:38PM -0700, Matthew Jacob wrote: Not to worry. The 8 way box is going to be powered down tomorrow for moving it to another building. I don't expect it to be back /me having the time until end of next week (earliest). Wilko > No, I likely *won't* be able to fix this today, as kernels built with the > latest panic with: > > recursed on non-recursive lock (sleep mutex) mbuf free list lock @ > ../../kern/uipc_mbuf.c:582 > first acquired @ ../../kern/uipc_socket.c:875 > panic: recurse > cpuid = 0; panic > Stopped at Debugger+0x34: zapnot v0,#0xf,a0 > db> t > Debugger() at Debugger+0x34 > panic() at panic+0x178 > witness_lock() at witness_lock+0x488 > m_freem() at m_freem+0x4e8 > soreceive() at soreceive+0x19dc > recvit() at recvit+0x1a4 > recvfrom() at recvfrom+0x9c > syscall() at syscall+0x708 > XentSys() at XentSys+0x64 > --- syscall (29, FreeBSD ELF, recvfrom) --- > --- user mode --- > > > What I needed to fix for turbolaser is to clear the timer interrupt for all > CPUs but the primary CPU- this is the TLINTRMASK{0,1} registers. But, stupid > me, I upgraded my source first. > > -matt > > > On Tue, 12 Jun 2001, Matthew Jacob wrote: > > > > > Oh! I was really snoozing- many other things happening (mostly personal)! > > > > This should be easy to fix- let me look at this tomorrow. > > > > On Tue, 12 Jun 2001, Andrew Gallatin wrote: > > > > > > > > Wilko Bulte writes: > > > > On Mon, Jun 11, 2001 at 10:06:56AM +0000, Wilko Bulte wrote: > > > > > > > > Does this make any sense to anybody? Drew, you asked for a traceback? > > > > > > <...> > > > > > > > > trap entry = 0x2 (memory management fault) > > > > > cpuid = 0 > > > > > faulting va = 0x78 > > > > > type = access violation > > > > > cause = load instructon > > > > > pc = 0xfffffc0000491ae4 > > > > > ra = 0xfffffc0000491ba8 > > > > > sp = 0xfffffc00008d9b90 > > > > > usp = 0x0 > > > > > curproc = 0xfffffc0000831288 > > > > > pid = 0, comm = swapper > > > > > > > > > > Stopped at sync_other_counter+0x24: ldq s1,0x78(s0) <0x78> > > > > > > > > > > db> trace > > > > > sync_other_counter() at sync_other_counter+0x24 > > > > > tc_windup() at tc_windup+0x28 > > > > > hardclock() at hardclock+0x1e8 > > > > > handleclock() at handleclock+0x22c > > > > > alpha_clock_interrupt() at alpha_clock_interrupt+0x68 > > > > > interrupt() at interrupt+0xb8 > > > > > XentIntlgp() at XentIntlgp+0x14 > > > > > db> halt > > > > > > > > > > > Yes, sorry I never replied. According to Matt, the turbolaser doesn't > > > have an i8254 timecounter. And the alpha timecounter is never > > > initialized in alpha/alpha/clock.c if ncpus>1, so you're taking a > > > clock interrupt with no timecounter. Oops. No MP for TurboLasers > > > right now, I guess. > > > > > > Here's the code in question: > > > > > > /* > > > * XXX: TurboLaser doesn't have an i8254 counter. > > > * XXX: A replacement is needed, and another method > > > * XXX: of determining this would be nice. > > > */ > > > if (hwrpb->rpb_type != ST_DEC_21000) { > > > tc_init(&i8254_timecounter); > > > } > > > > > > if (ncpus == 1) { > > > alpha_timecounter.tc_frequency = freq; > > > tc_init(&alpha_timecounter); > > > } > > > > > > I think there are bigger fish to fry right now, but this needs to be > > > fixed. I'm not at all sure what to do, since I don't think that > > > the cycle counters on multiple cpus are in sync.. > > > > > > Drew > > > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > > > with "unsubscribe freebsd-alpha" in the body of the message > > > > > > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > > with "unsubscribe freebsd-alpha" in the body of the message > > ---end of quoted text--- -- | / o / / _ Arnhem, The Netherlands email: wilko@freebsd.org |/|/ / / /( (_) Bulte http://www.freebsd.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message