From owner-freebsd-current Mon Sep 22 13:40:14 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id NAA18018 for current-outgoing; Mon, 22 Sep 1997 13:40:14 -0700 (PDT) Received: from ns.mt.sri.com (SRI-56K-FR.mt.net [206.127.65.42]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id NAA18012 for ; Mon, 22 Sep 1997 13:40:11 -0700 (PDT) Received: from rocky.mt.sri.com (rocky.mt.sri.com [206.127.76.100]) by ns.mt.sri.com (8.8.7/8.8.7) with ESMTP id OAA15127; Mon, 22 Sep 1997 14:40:06 -0600 (MDT) Received: (from nate@localhost) by rocky.mt.sri.com (8.7.5/8.7.3) id OAA02694; Mon, 22 Sep 1997 14:40:03 -0600 (MDT) Date: Mon, 22 Sep 1997 14:40:03 -0600 (MDT) Message-Id: <199709222040.OAA02694@rocky.mt.sri.com> From: Nate Williams MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: "Justin T. Gibbs" Cc: Nate Williams , Bruce Evans , current@freebsd.org Subject: callouts in CAM (was Re: cvs commit:) In-Reply-To: <199709222037.OAA01057@pluto.plutotech.com> References: <199709221907.NAA02110@rocky.mt.sri.com> <199709222037.OAA01057@pluto.plutotech.com> X-Mailer: VM 6.29 under 19.15 XEmacs Lucid Sender: owner-freebsd-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Justin T. Gibbs writes: > >> The current implementation only needs to allocate a callout at a time if > >> it wants to grow the number of callouts. It may, in fact be nice to add > >> an interface for clients to add additional callouts if they are heavy > >> users of them. For instance, the CAM system grows it's number of > >> transactions dynamically and will simply stop growing if it can't malloc > >> more. In your scenario, if you can't allocate space for a drive and it's > >> transactions, you can't talk to the drive. > > > >Umm, how does the CAM system still talk to a drive if it can't establish > >a callout for it? If it can do that now, then it can certainly do it > >with the old solution. > > I assume that I can allocate a single CCB/callout at boot time. If this > is the case, I can talk to any number of devices by serializing the > transactions. It won't be fast, but it won't fail either. > > CCB = CAM Control Block - a structure used to encapsulate a CAM > transaction. Couldn't you do this with the old setup as well, since you have access to the callouts at boot time in both schemes? Nate