From owner-freebsd-scsi@FreeBSD.ORG Mon Oct 15 02:57:24 2012 Return-Path: Delivered-To: freebsd-scsi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 49D3D1C7 for ; Mon, 15 Oct 2012 02:57:24 +0000 (UTC) (envelope-from jacks.1785@gmail.com) Received: from mail-ia0-f182.google.com (mail-ia0-f182.google.com [209.85.210.182]) by mx1.freebsd.org (Postfix) with ESMTP id 102B58FC0C for ; Mon, 15 Oct 2012 02:57:23 +0000 (UTC) Received: by mail-ia0-f182.google.com with SMTP id k10so4459420iag.13 for ; Sun, 14 Oct 2012 19:57:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=AdF66XiIhleP75CViIV0vF82mYDa+Hp0z3X5sDOfhkg=; b=OdTq9F7bDDFXstpnvjcchtEnWhIW8hR043rbut73z68xx/4bLzazPuHkl1K2eTzwu7 jEih60k+TYZFVXkj8u8+uYXfDE7INPSHyeUy2ZOwlDMhVXOJcc0yaCbFJufRABXt4e0k XjomqCHcK90lJBUiTIVSe1Fcn1cDUTwGpLaBHsZTnRvXBmVO9sFd9ESvIFmDtOXQfVX5 4eZRwe1NpJRG58fjOu80zQup+cmjck+BJKCOvDnPmyC2bfQ0loQ4uwKc7ZYvWHkIpc4/ cH1Ea7LYY/NnflbJJ7UXW3oUBnst1SGc+LNBOdXyiYAIfI84nFY9wWyymjsYKVXUC0+h zU2w== MIME-Version: 1.0 Received: by 10.50.202.71 with SMTP id kg7mr7602623igc.55.1350269843272; Sun, 14 Oct 2012 19:57:23 -0700 (PDT) Received: by 10.64.11.166 with HTTP; Sun, 14 Oct 2012 19:57:23 -0700 (PDT) In-Reply-To: <20121012223203.GA68975@nargothrond.kdm.org> References: <20121012223203.GA68975@nargothrond.kdm.org> Date: Mon, 15 Oct 2012 08:27:23 +0530 Message-ID: Subject: Re: passstart() and immediate CCBs From: Jack To: freebsd-scsi@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Oct 2012 02:57:24 -0000 On Sat, Oct 13, 2012 at 4:02 AM, Kenneth D. Merry wrote: > Immediate CCBs are complete when xpt_action() returns, so no callback is > needed. > Does Immediate CCB transaction is similar to polling? I mean xpt_action() is called, xfer is done and then HBA asserts interrupt, the control is transfered back to xpt_action(), then it returns. Then what is the purpose of cam_periph_ccbwait(), inside cam_periph_runccb(), just after xpt_action(). > > Immediate CCBs never go down to the hardware. The priority mechanism is > used to help determine who gets queue slots, and those are only > needed for queued CCBs. > queued CCBs means non-immediate CCBs. right? Sorry, I didn't get what do you mean by: " Immediate CCBs never go down to the hardware." I guess immediate CCBs are preferred over non-immediate CCBs, in the sense that they bypass struct cam_ed queue completely, and directly sent to HBA driver, via xpt_action(). Is it? Regards -- Jack