From owner-freebsd-current Sat Nov 18 9:40:58 2000 Delivered-To: freebsd-current@freebsd.org Received: from prism.flugsvamp.com (cb58709-a.mdsn1.wi.home.com [24.17.241.9]) by hub.freebsd.org (Postfix) with ESMTP id 2990F37B479 for ; Sat, 18 Nov 2000 09:40:52 -0800 (PST) Received: (from jlemon@localhost) by prism.flugsvamp.com (8.11.0/8.11.0) id eAIHeYt67854; Sat, 18 Nov 2000 11:40:34 -0600 (CST) (envelope-from jlemon) Date: Sat, 18 Nov 2000 11:40:34 -0600 (CST) From: Jonathan Lemon Message-Id: <200011181740.eAIHeYt67854@prism.flugsvamp.com> To: mdharnois@home.com, current@freebsd.org Subject: Re: CURRENT is freezing again ... X-Newsgroups: local.mail.freebsd-current In-Reply-To: References: Organization: Cc: Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG In article you write: >On Fri, 17 Nov 2000 10:30:02 -0800 (PST), John Baldwin said: > > > what the WITNESS code does is perform extra checks on mutex > > enter's and exit's to ensure that we aren't handling mutexes in > > such a way that a deadlock is possible. Thus, it verifies that > > you don't grab mutexes out of order, or that you don't grab > > sleep mutexes with interrupts disabled, etc. > >Is this code meaningful on UP machines? Having been a victim of these >seemingly random freezes since SMPng started, as others have noted, I >decided to compile it in earlier this week. Twice now I've been dumped >into the debugger with this output: > >lock order reversal >1st dc0 last acquired @ ../../pci/if_dc.c:2717 >2nd 0xc0acdb3c dc1 @ ../../pci/if_dc.c: 2717 >3rd 0xc0acab3c dc0 @ ../../pci/if_dc.c: 2929 This is on a UP machine? This looks like you're taking an interrupt on dc1 and then trying to call the dc0 start routine, which shouldn't be possible. (Unless I'm misunderstanding the witness code) What version of if_dc.c are you using? line 2929 doesn't correspond to an instance of "DC_LOCK" in my copy. -- Jonathan this should be released before anything else To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message