From owner-freebsd-smp Sun Aug 22 19:34:31 1999 Delivered-To: freebsd-smp@freebsd.org Received: from cs.rice.edu (cs.rice.edu [128.42.1.30]) by hub.freebsd.org (Postfix) with ESMTP id 083E21541F for ; Sun, 22 Aug 1999 19:34:22 -0700 (PDT) (envelope-from alc@cs.rice.edu) Received: from nonpc.cs.rice.edu (nonpc.cs.rice.edu [128.42.1.219]) by cs.rice.edu (8.9.0/8.9.0) with ESMTP id VAA13952; Sun, 22 Aug 1999 21:34:21 -0500 (CDT) Received: (from alc@localhost) by nonpc.cs.rice.edu (8.9.3/8.7.3) id VAA49390; Sun, 22 Aug 1999 21:34:21 -0500 (CDT) Date: Sun, 22 Aug 1999 21:34:21 -0500 From: Alan Cox To: Matthew Dillon Cc: Luoqi Chen , freebsd-smp@FreeBSD.ORG Subject: Re: Weird infinite lockup in splx() (in IFCPL_UNLOCK) w/ latest CURRENT/SMP Message-ID: <19990822213421.E47586@nonpc.cs.rice.edu> References: <199908230023.RAA00824@apollo.backplane.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.1i In-Reply-To: <199908230023.RAA00824@apollo.backplane.com>; from Matthew Dillon on Sun, Aug 22, 1999 at 05:23:40PM -0700 Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Sun, Aug 22, 1999 at 05:23:40PM -0700, Matthew Dillon wrote: > I had a weird lockup w/ the latest CURRENT while doing an installworld. > > I tracked the lockup down to an infinite loop in the current process... > an infinite loop in splx()! > > I've never had this lockup before so I believe it to be due to > some recent change. The lockup occured during very heavy use of > the lockmgr on the same vnode lock (the uudecode binary) during a > parallel installworld. > > My kernel was as of today, 22Aug. This is on a 2xPIII/450 SMP box. > > I believe there to be a race condition somewhere. > > -Matt > > ... > #9 0xc021f1e6 in scgetc (sc=0xc02a37e0, flags=2) > at ../../dev/syscons/syscons.c:3782 > #10 0xc021aef1 in sckbdevent (thiskbd=0xc02b4d20, event=0, arg=0xc02a37e0) > at ../../dev/syscons/syscons.c:663 > #11 0xc021481f in atkbd_intr (kbd=0xc02b4d20, arg=0x0) > at ../../dev/kbd/atkbd.c:439 > #12 0xc024b764 in atkbd_isa_intr (arg=0xc02b4d20) at ../../isa/atkbd_isa.c:123 > #13 0xc0243194 in splx (ipl=3224034576) at ../../i386/isa/ipl_funcs.c:275 > > ^^^^^^^ it was looping splx, in IFCPL_UNLOCK. > Are you sure about this? There's no loop in IFCPL_UNLOCK or splx (proper) for that matter. Only the IFCPL_LOCK at the beginning and the splz at the end contain loops within them. > #14 0xc014c158 in lockmgr (lkp=0xc02add10, flags=2, interlkp=0x0, p=0xcc745ec0) > at ../../kern/kern_lock.c:360 > #15 0xc0205513 in kmem_alloc_wait (map=0xc02add10, size=69632) > at ../../vm/vm_kern.c:436 > #16 0xc0149375 in execve (p=0xcc745ec0, uap=0xcc7a3f80) > at ../../kern/kern_exec.c:126 > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-smp" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message