From owner-freebsd-hackers Wed Oct 24 12:10: 3 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from elvis.mu.org (elvis.mu.org [216.33.66.196]) by hub.freebsd.org (Postfix) with ESMTP id 6110E37B401 for ; Wed, 24 Oct 2001 12:10:00 -0700 (PDT) Received: by elvis.mu.org (Postfix, from userid 1192) id 3EBD081D06; Wed, 24 Oct 2001 14:10:00 -0500 (CDT) Date: Wed, 24 Oct 2001 14:10:00 -0500 From: Alfred Perlstein To: Luigi Rizzo Cc: hackers@freebsd.org Subject: Re: HW question -- can the CPU timeout on accesses to the PCI bus ? Message-ID: <20011024141000.D15052@elvis.mu.org> References: <20011024115939.A46082@iguana.aciri.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20011024115939.A46082@iguana.aciri.org>; from rizzo@aciri.org on Wed, Oct 24, 2001 at 11:59:39AM -0700 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG * Luigi Rizzo [011024 14:03] wrote: > Well, the question is rather simple... i am running some experiments > on system with severe load on the PCI bus (basically a router with 4 interfaces > trying to forward 2..4 streams of 64-byte packets at 100Mbit/s (i.e. 144kpps > on each stream), and from low level timing i notice that the > time to access a status register in the card sometimes goes up in the > sky (I have measured well over 10us under heavy load, whereas the > normal time is in the order of 0.5-1us). > > 10us is a fairly long time, and while i can explain it easily (there > are 4 active cards in the system, each one with a transmit, receive > and control engines trying to access the PCI bus -- and there are > two bridges between the CPU and the card), i wonder if the CPU can > potentially wait forever to get hold of the bus, or it eventually > times out. If so, how can i tell that the operation failed ? Rough guess, an NMI? Afaik this is the problem, if the bus hangs it can wedge the CPU unless a higher priority non-masked interrupt somehow makes it across the bus. Afaik this is what a watchdog timer is for. -- -Alfred Perlstein [alfred@freebsd.org] 'Instead of asking why a piece of software is using "1970s technology," start asking why software is ignoring 30 years of accumulated wisdom.' http://www.morons.org/rants/gpl-harmful.php3 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message