From owner-freebsd-hackers Wed Oct 24 15:49:16 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from mass.dis.org (mass.dis.org [216.240.45.41]) by hub.freebsd.org (Postfix) with ESMTP id 7413B37B403 for ; Wed, 24 Oct 2001 15:49:14 -0700 (PDT) Received: from mass.dis.org (localhost [127.0.0.1]) by mass.dis.org (8.11.6/8.11.3) with ESMTP id f9ON1iC04455; Wed, 24 Oct 2001 16:01:44 -0700 (PDT) (envelope-from msmith@mass.dis.org) Message-Id: <200110242301.f9ON1iC04455@mass.dis.org> To: Luigi Rizzo Cc: hackers@freebsd.org, msmith@mass.dis.org Subject: Re: HW question -- can the CPU timeout on accesses to the PCI bus ? In-Reply-To: Message from Luigi Rizzo of "Wed, 24 Oct 2001 11:59:39 PDT." <20011024115939.A46082@iguana.aciri.org> Date: Wed, 24 Oct 2001 16:01:44 -0700 From: Mike Smith 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 > 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 interfac > es > 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 ? The PCI arbitrator should never allow the system to livelock in that fashion. Furthermore, since the cards will eventually run out of descriptors/buffer space and require CPU intervention, you'll never hit that situation. And no, the CPU will not time out; it will block until it can get the bus. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message