From owner-freebsd-current@FreeBSD.ORG Wed Jul 9 11:08:13 2003 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 0484B37B401; Wed, 9 Jul 2003 11:08:13 -0700 (PDT) Received: from harmony.village.org (rover.bsdimp.com [204.144.255.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id C51F243FAF; Wed, 9 Jul 2003 11:08:11 -0700 (PDT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.8/8.12.3) with ESMTP id h69I89dP042790; Wed, 9 Jul 2003 12:08:11 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Wed, 09 Jul 2003 12:08:07 -0600 (MDT) Message-Id: <20030709.120807.103131596.imp@bsdimp.com> To: mark@grondar.org From: "M. Warner Losh" In-Reply-To: <200307091711.h69HBHbN083840@grimreaper.grondar.org> References: <20030709.105424.94551681.imp@bsdimp.com> <200307091711.h69HBHbN083840@grimreaper.grondar.org> X-Mailer: Mew version 2.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: current@freebsd.org Subject: Re: Broken ep0 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: Wed, 09 Jul 2003 18:08:13 -0000 In message: <200307091711.h69HBHbN083840@grimreaper.grondar.org> Mark Murray writes: : If I were to start instrumenting ep(4) with debug printf's, where is : the best place to start? I'm not sure that printf is the right way to track this down. You are seeing, iirc, that ep0 "works" for a period of time, typically very short, it hangs up. These sorts of things are hard to find with a printf. My first suggestion would be to enable WITNESS to see if it tells you about any LoR which might be a clue. The MPSAFE changes I made to pccbb just move up the tree one level where the Giant lock is taken out in this case. If the failure is early enough in the process, you might want to put printfs into pccbb_intr to see if they will show you what they tell you the order of the first few interrupts for the card are. maybe we're having a race with some interrupt before ep is really ready to field interrupts or something that the giant lock being held before protected against... Warner