From owner-freebsd-hackers Sat Oct 9 13:31:18 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from mail.tvol.com (mail.wgate.com [38.219.83.4]) by hub.freebsd.org (Postfix) with ESMTP id 27D3A14BD3 for ; Sat, 9 Oct 1999 13:31:15 -0700 (PDT) (envelope-from rjesup@wgate.com) Received: from jesup.eng.tvol.net (jesup.eng.tvol.net [10.32.2.26]) by mail.tvol.com (8.8.8/8.8.3) with ESMTP id QAA02311 for ; Sat, 9 Oct 1999 16:26:32 -0400 (EDT) Reply-To: Randell Jesup To: hackers@freebsd.org Subject: Re: CAM-ification - documentation From: Randell Jesup Date: 09 Oct 1999 16:26:30 +0000 In-Reply-To: "Kenneth D. Merry"'s message of "Fri, 8 Oct 1999 12:54:54 -0600 (MDT)" Message-ID: X-Mailer: Gnus v5.6.43/Emacs 20.4 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG This discussion should probably move to the freebsd-scsi list... "Kenneth D. Merry" writes: >Nick Hibma wrote... >> Especially some help on the topic of polling would be appreciated. >> Otherwise I'll have to resort to figuring out how to do things in >> interrupt context, and that is going to be dirty. >If you're talking about polling for transaction completion in a device >driver, my guess is that you're going to have to do things in an interrupt >context. (Unless you use a kernel process to do it.) > >The thing to remember is that when you get CCBs down in a CAM device >driver, it may well be in an interrupt context. You have to be able to >deal with that. My guess is that it might be easiest to just use a timeout >handler to poll the device for completion every so often. A kernel process >may also be an option, depending on how nasty the device is. Ick. Polling == bad. Interrupts == good. This isn't a single- tasking OS ala Win9x. This goes double for SCSI drivers, which are inherently async and overlapped. -- Randell Jesup, Worldgate Communications, ex-Scala, ex-Amiga OS team ('88-94) rjesup@wgate.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message