From owner-freebsd-scsi@FreeBSD.ORG Wed Nov 17 00:01:28 2010 Return-Path: Delivered-To: freebsd-scsi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 235E1106564A for ; Wed, 17 Nov 2010 00:01:28 +0000 (UTC) (envelope-from mj@feral.com) Received: from ns1.feral.com (ns1.feral.com [192.67.166.1]) by mx1.freebsd.org (Postfix) with ESMTP id DAE648FC0C for ; Wed, 17 Nov 2010 00:01:27 +0000 (UTC) Received: from [192.168.1.100] (m206-63.dsl.tsoft.com [198.144.206.63]) by ns1.feral.com (8.14.4/8.14.3) with ESMTP id oAH01Qnn003297 for ; Tue, 16 Nov 2010 16:01:27 -0800 (PST) (envelope-from mj@feral.com) Message-ID: <4CE31B55.2030603@feral.com> Date: Tue, 16 Nov 2010 16:01:25 -0800 From: Matthew Jacob Organization: Feral Software User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101027 Thunderbird/3.1.6 MIME-Version: 1.0 To: freebsd-scsi@freebsd.org References: <20101116210507.GA35011@nargothrond.kdm.org> <4CE3109D.5090308@feral.com> <20101116234053.GA78961@nargothrond.kdm.org> In-Reply-To: <20101116234053.GA78961@nargothrond.kdm.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.2.6 (ns1.feral.com [192.67.166.1]); Tue, 16 Nov 2010 16:01:27 -0800 (PST) Subject: Re: SMP passthrough support for CAM and mps(4) X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Nov 2010 00:01:28 -0000 On 11/16/2010 3:40 PM, Kenneth D. Merry wrote: > On Tue, Nov 16, 2010 at 15:15:41 -0800, Matthew Jacob wrote: >> + there are other, non-SMP things included (CAM_DIR_RESV -> CAM_DIR_BOTH) > That particular thing was intentional. CAM_DIR_BOTH is used when filling > in SMP commands, because data is transferred in both directions. (Request > and response.) Yes, but non-SMP commands can also now be bidirectional (viz OSD). >> + CAM_QUIRK_NOSERIAL got replaced with CAM_QUIRK_NOVPDS, fine >> >> + XPT_DEV_ADVINFO ought have a comment about what it is like the other >> commands. The pp below about advanced device info is hard to figure out. .. >> + The functions in smp_all.c should make clear distinctions about which >> version of SAS is being supported. > Will do, thanks. I based it on spl-r07, but I should make that explicit. > Most of the functions should be backwards-compatibile at least, because > they give the user the option to specify the long bit. I need to tweak at > least the smprg case in camcontrol (Report General) to detect the long bit > in the response and re-fetch with the long bit set to get the full > response. Ah. You might as well, at this point, go the extra mile and do SAS2 if you can. It's possible to tell from a REPORT GENERAL whether the device is SAS1 or SAS2, and if you do SAS2 you can get lists of phys instead of iterating over each. .... > One other goal is that for any given device in the topology, you'll be able > to have more than one protocol attached to it. e.g. if you have a SATA disk > in a SAS topology, you may be able to talk to it using SCSI or ATA. If you > have an expander, you may be able to talk it using SCSI or SMP. (In > reality, the expanders I've seen so far don't support SMP on the SAS > addresses that support SSP.) > Hmm. An expander is an SMP device only. It *may* have an SES portal to it, but SMP is in the SAS/SSP domain, not SMP. Another thing to keep in mind is that STP and SATA are in fact different. You tend to forget this when you use LSI HBAs which do the SATL work for you. The WWN of the STP (assigned by the expander) is different from a WWN for a SATA drive (wds 108..111 of modern SATA drives). This also gets horribly ugly when SAS/SATA dongles are used.