Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Feb 2012 12:11:30 +0100
From:      Johan Hendriks <joh.hendriks@gmail.com>
To:        "Desai, Kashyap" <Kashyap.Desai@lsi.com>
Cc:        freebsd-stable <freebsd-stable@freebsd.org>
Subject:   Re: LSI supported mps(4) driver in stable/9 and stable/8
Message-ID:  <4F38EFE2.7010905@gmail.com>
In-Reply-To: <B2FD678A64EAAD45B089B123FDFC3ED72B96D340E1@inbmail01.lsi.com>
References:  <20120202191105.GA55719@nargothrond.kdm.org> <4F38E00B.2020408@gmail.com> <B2FD678A64EAAD45B089B123FDFC3ED72B96D340E1@inbmail01.lsi.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Desai, Kashyap schreef:
>
>> -----Original Message-----
>> From: owner-freebsd-stable@freebsd.org [mailto:owner-freebsd-
>> stable@freebsd.org] On Behalf Of Johan Hendriks
>> Sent: Monday, February 13, 2012 3:34 PM
>> To: Kenneth D. Merry
>> Cc: freebsd-stable
>> Subject: Re: LSI supported mps(4) driver in stable/9 and stable/8
>>
>> Kenneth D. Merry schreef:
>>> Hi folks,
>>>
>>> The LSI-supported version of the mps(4) driver that supports their 6Gb
>> SAS
>>> HBAs as well as WarpDrive controllers, is now in stable/9 and
>> stable/8.
>>> Please test it out and let me and Kashyap (CCed) know if you run into
>>> any problems.
>>>
>>> In addition to supporting WarpDrive, the driver also supports
>> Integrated
>>> RAID.
>>>
>>> Thanks to LSI for doing the work on this driver!
>>>
>>> Note that the CAM infrastructure changes that went into FreeBSD/head
>> along
>>> with this driver have not gone into either stable/9 or stable/8.  Only
>> the
>>> driver itself has been merged.
>>>
>>> The CAM infrastructure changes depend on some other da(4) driver
>> changes
>>> that will need to get merged before they can go back.  If that merge
>>> happens, it will probably only be into stable/9.
>>>
>>> A couple of notes about issues with this driver:
>>>
>>>    - Unlike the previous mps(4) driver, it probes sequentially.  If you
>> have
>>>      a lot of drives in your system, it will take a while to probe them
>> all.
>>>    - You may see warning messages like this:
>>>
>>> _mapping_add_new_device: failed to add the device with handle 0x0019
>> to persiste
>>> nt table because there is no free space available
>>> _mapping_add_new_device: failed to add the device with handle 0x001a
>> to persiste
>>> nt table because there is no free space available
>>>
>>>    - The driver is not endian safe.  (It assumes a little endian
>> machine.)
>>>      This is not new, the previous version of the driver had the same
>> issue.
>>> The LSI folks know about these issues.  The driver has passed their
>> testing
>>> process.
>>>
>>> Many thanks to LSI for going through the effort to support FreeBSD.
>>>
>>> Ken
>> Hello all.
>>
>> I am running FreeBSD 9.0 STABLE now, on a LSI 9211-8i controller and a
>> 16 ports backplane identified as LSI CORP SAS2X28 0717 ses0 pass6
>> On FreeBSD 9.0RELEASE i have the following order.
>> Seen from the front of the case.
>> da3 da7 da11 da15
>> da2 da6 da10 da14
>> da1 da5 da9 da13
>> da0 da4 da8 da12
>>
>> But now it has shuffled the order.
>> da8 da 14 da12 da10
>> da9 da15 da13 da11
>> da1 da6 da2 da5
>> da0 da7 da3 da4
>>
>> There is no logic at all, and it is very hard to figure out when a disk
>> dies which one it is.
> Can you attach dmesg logs ?
> Basically now Drive will not ask CAM layer to add device using XPT_ASYC call.
> It will ask CAM layer to rescan the bus.
>
> So how CAM layer detects Drives is beyond Low level driver and it is obviously no guaranty of sequence of daX.
> If you have some X Drives attached to enclosure, target IDs of those Drive will be generated by Driver based on
> which mode mapping table is.
> 1. Enclosure slot mapping
> 2. Device mapping.
>
> For your case best choice will be Enclosure slot mapping. Assume you have Enclosure slop mapping.
>
> Target ID assignment is part of Driver which will consistence across all reboot.
> _but_ when Driver call rescan bus (as part of device add), it will scan bus in sequence and later peripher layer will assing device naming.
> So it is completely unsure which device will get what device name.
>
> e.a I have four Drive in "Enclosure slot mapping" Drive-A, Drive-B, Drive-C and Drive-D. (Consider alphabetical order is mapped to slot number )
> So Driver will assign below target id. (target id 0-7 is reserved for local port of HBA)
>
> Drive- A Target ID -8
> Drive- B Target ID -9
> Drive- C Target ID -10
> Drive- D Target ID -11
>
> You cannot expect Drive-A will be assigned to da0. (and similar Drive-D will get da3).
>
> In summary, This behavior is visible just because of new change in driver, but it is never *must* follow condition for any driver.
> Device naming is part of CAM layer.
>
>
>>
>> regards
>> Johan Hendriks
>>
>>
>> _______________________________________________
>> freebsd-stable@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
>> To unsubscribe, send any mail to "freebsd-stable-
>> unsubscribe@freebsd.org"

Ok so it is not the mps driver who does the naming but cam, and that 
also has changed on 9.0 Stable.
Well i use gpart labels for the pool, so i can use the gpart labels to 
yank the right disk.
But it would be nicer if there was some kind of logic in the numbering 
of the devices.


Here is the dmesg
Copyright (c) 1992-2012 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
         The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.0-STABLE #0: Mon Feb 13 10:22:44 CET 2012
     root@filer01.testdomain.local:/usr/obj/usr/src/sys/KRNL amd64
CPU: Intel(R) Xeon(R) CPU E31220 @ 3.10GHz (3093.04-MHz K8-class CPU)
   Origin = "GenuineIntel"  Id = 0x206a7  Family = 6  Model = 2a  
Stepping = 7
   
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
   
Features2=0x15bae3ff<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,TSCDLT,XSAVE,AVX>
   AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM>
   AMD Features2=0x1<LAHF>
   TSC: P-state invariant, performance statistics
real memory  = 17179869184 (16384 MB)
avail memory = 16493441024 (15729 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <SUPERM SMCI--MB>
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 1 package(s) x 4 core(s)
  cpu0 (BSP): APIC ID:  0
  cpu1 (AP): APIC ID:  2
  cpu2 (AP): APIC ID:  4
  cpu3 (AP): APIC ID:  6
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <SUPERM SMCI--MB> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
cpu2: <ACPI CPU> on acpi0
cpu3: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> irq 19 at device 6.0 on pci0
pci1: <ACPI PCI bus> on pcib1
mps0: <LSI SAS2008> port 0xe000-0xe0ff mem 0xfb600000-0xfb603fff irq 19 
at device 0.0 on pci1
mps0: Firmware: 11.00.00.00, Driver: 11.255.03.00-fbsd
mps0: IOCCapabilities: 
1285c<ScsiTaskFull,DiagTrace,SnapBuf,EEDP,TransRetry,EventReplay,HostDisc>
em0: <Intel(R) PRO/1000 Network Connection 7.2.3> port 0xf020-0xf03f mem 
0xfb800000-0xfb81ffff,0xfb824000-0xfb824fff irq 20 at device 25.0 on pci0
em0: Using an MSI interrupt
em0: Ethernet address: 00:25:90:57:20:bd
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xfb823000-0xfb8233ff irq 
16 at device 26.0 on pci0
usbus0: EHCI version 1.0
usbus0: <EHCI (generic) USB 2.0 controller> on ehci0
pcib2: <ACPI PCI-PCI bridge> irq 17 at device 28.0 on pci0
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> irq 17 at device 28.4 on pci0
pci3: <ACPI PCI bus> on pcib3
em1: <Intel(R) PRO/1000 Network Connection 7.2.3> port 0xd000-0xd01f mem 
0xfb700000-0xfb71ffff,0xfb720000-0xfb723fff irq 16 at device 0.0 on pci3
em1: Using MSIX interrupts with 3 vectors
em1: Ethernet address: 00:25:90:57:20:bc
ehci1: <EHCI (generic) USB 2.0 controller> mem 0xfb822000-0xfb8223ff irq 
23 at device 29.0 on pci0
usbus1: EHCI version 1.0
usbus1: <EHCI (generic) USB 2.0 controller> on ehci1
pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci4: <ACPI PCI bus> on pcib4
vgapci0: <VGA-compatible display> mem 
0xf9000000-0xf9ffffff,0xfb000000-0xfb003fff,0xfa800000-0xfaffffff irq 23 
at device 3.0 on pci4
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
ahci0: <Intel Cougar Point AHCI SATA controller> port 
0xf070-0xf077,0xf060-0xf063,0xf050-0xf057,0xf040-0xf043,0xf000-0xf01f 
mem 0xfb821000-0xfb8217ff irq 19 at device 31.2 on pci0
ahci0: AHCI v1.30 with 6 6Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich2: <AHCI channel> at channel 2 on ahci0
ahcich3: <AHCI channel> at channel 3 on ahci0
ahcich4: <AHCI channel> at channel 4 on ahci0
ahcich5: <AHCI channel> at channel 5 on ahci0
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
acpi_button0: <Power Button> on acpi0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 950
Event timer "HPET" frequency 14318180 Hz quality 550
Event timer "HPET1" frequency 14318180 Hz quality 440
Event timer "HPET2" frequency 14318180 Hz quality 440
Event timer "HPET3" frequency 14318180 Hz quality 440
Event timer "HPET4" frequency 14318180 Hz quality 440
attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0
Event timer "RTC" frequency 32768 Hz quality 0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
uart2: <16550 or compatible> port 0x3e8-0x3ef irq 10 on acpi0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xc87ff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ppc0: cannot reserve I/O port range
est0: <Enhanced SpeedStep Frequency Control> on cpu0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
p4tcc1: <CPU Frequency Thermal Control> on cpu1
est2: <Enhanced SpeedStep Frequency Control> on cpu2
p4tcc2: <CPU Frequency Thermal Control> on cpu2
est3: <Enhanced SpeedStep Frequency Control> on cpu3
p4tcc3: <CPU Frequency Thermal Control> on cpu3
ZFS filesystem version 5
ZFS storage pool version 28
Timecounters tick every 1.000 msec
usbus0: 480Mbps High Speed USB v2.0
usbus1: 480Mbps High Speed USB v2.0
ugen0.1: <Intel> at usbus0
uhub0: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
ugen1.1: <Intel> at usbus1
uhub1: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
uhub0: 2 ports with 2 removable, self powered
uhub1: 2 ports with 2 removable, self powered
da0 at mps0 bus 0 scbus0 target 8 lun 0
da0: <ATA WDC WD800JD-60LS 1D07> Fixed Direct Access SCSI-6 device
da0: 300.000MB/s transfers
da0: Command Queueing enabled
da0: 76319MB (156301488 512 byte sectors: 255H 63S/T 9729C)
da1 at mps0 bus 0 scbus0 target 9 lun 0
da1: <ATA WDC WD800JD-60LS 1D07> Fixed Direct Access SCSI-6 device
da1: 300.000MB/s transfers
da1: Command Queueing enabled
da1: 76319MB (156301488 512 byte sectors: 255H 63S/T 9729C)
da2 at mps0 bus 0 scbus0 target 10 lun 0
da2: <ATA WDC WD2500AAJS-6 2E25> Fixed Direct Access SCSI-6 device
da2: 300.000MB/s transfers
da2: Command Queueing enabled
da2: 238475MB (488397168 512 byte sectors: 255H 63S/T 30401C)
da3 at mps0 bus 0 scbus0 target 11 lun 0
da3: <ATA WDC WD2500JS-60M 2E04> Fixed Direct Access SCSI-6 device
da3: 300.000MB/s transfers
da3: Command Queueing enabled
da3: 238475MB (488397168 512 byte sectors: 255H 63S/T 30401C)
da4 at mps0 bus 0 scbus0 target 12 lun 0
da4: <ATA WDC WD2500JS-60M 2E04> Fixed Direct Access SCSI-6 device
da4: 300.000MB/s transfers
da4: Command Queueing enabled
da4: 238475MB (488397168 512 byte sectors: 255H 63S/T 30401C)
da5 at mps0 bus 0 scbus0 target 13 lun 0
da5: <ATA ST3250620NS BJH> Fixed Direct Access SCSI-6 device
da5: 150.000MB/s transfers
da5: Command Queueing enabled
da5: 238475MB (488397168 512 byte sectors: 255H 63S/T 30401C)
da8 at mps0 bus 0 scbus0 target 19 lun 0
da8: <ATA WDC WD800JD-60LS 1D07> Fixed Direct Access SCSI-6 device
da8: 300.000MB/s transfers
da8: Command Queueing enabled
da8: 76319MB (156301488 512 byte sectors: 255H 63S/T 9729C)
da9 at mps0 bus 0 scbus0 target 20 lun 0
da9: <ATA WDC WD800JD-60LU 1D07> Fixed Direct Access SCSI-6 device
da9: 300.000MB/s transfers
da9: Command Queueing enabled
da9: 76319MB (156301488 512 byte sectors: 255H 63S/T 9729C)
da11 at mps0 bus 0 scbus0 target 22 lun 0
da11: <ATA ST3250620NS 3BJP> Fixed Direct Access SCSI-6 device
da11: 150.000MB/s transfers
da11: Command Queueing enabled
da11: 238475MB (488397168 512 byte sectors: 255H 63S/T 30401C)
da12 at mps0 bus 0 scbus0 target 23 lun 0
da12: <ATA ST3250620NS 3BJP> Fixed Direct Access SCSI-6 device
da12: 150.000MB/s transfers
da12: Command Queueing enabled
da12: 238475MB (488397168 512 byte sectors: 255H 63S/T 30401C)
da13 at mps0 bus 0 scbus0 target 24 lun 0
da13: <ATA ST3250620NS 3BJP> Fixed Direct Access SCSI-6 device
da13: 150.000MB/s transfers
da13: Command Queueing enabled
da13: 238475MB (488397168 512 byte sectors: 255H 63S/T 30401C)
da14 at mps0 bus 0 scbus0 target 27 lun 0
da14: <ATA ST3250310AS B> Fixed Direct Access SCSI-6 device
da14: 300.000MB/s transfers
da14: Command Queueing enabled
da14: 238475MB (488397168 512 byte sectors: 255H 63S/T 30401C)
da15 at mps0 bus 0 scbus0 target 28 lun 0
da15: <ATA ST3250620NS 3BJP> Fixed Direct Access SCSI-6 device
da15: 150.000MB/s transfers
da15: Command Queueing enabled
da15: 238475MB (488397168 512 byte sectors: 255H 63S/T 30401C)
ses0 at mps0 bus 0 scbus0 target 16 lun 0
ses0: <LSI CORP SAS2X28 0717> Fixed Enclosure Services SCSI-5 device
ses0: 600.000MB/s transfers
ses0: Command Queueing enabled
ses0: SCSI-3 SES Device
da6 at mps0 bus 0 scbus0 target 17 lun 0
da6: <ATA Maxtor 6L080M0 1G10> Fixed Direct Access SCSI-6 device
da6: 150.000MB/s transfers
da6: Command Queueing enabled
da6: 76319MB (156301488 512 byte sectors: 255H 63S/T 9729C)
cd0 at ahcich2 bus 0 scbus3 target 0 lun 0
cd0: <TSSTcorp CDDVDW SN-208BB SB00> Removable CD-ROM SCSI-0 device
cd0: 150.000MB/s transfers (SATA 1.x, UDMA5, ATAPI 12bytes, PIO 8192bytes)
cd0: Attempt to query device size failed: NOT READY, Medium not present 
- tray closed
ada0 at ahcich0 bus 0 scbus1 target 0 lun 0
ada0: <ST3808110AS 3.AJJ> ATA-7 SATA 1.x device
ada0: 150.000MB/s transfers (SATA 1.x, UDMA5, PIO 8192bytes)
ada0: 76319MB (156301488 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad4
da7 at mps0 bus 0 scbus0 target 18 lun 0
da7: <ATA Maxtor 6L080M0 1G10> Fixed Direct Access SCSI-6 device
da7: 150.000MB/s transfers
da7: Command Queueing enabled
da7: 76319MB (156301488 512 byte sectors: 255H 63S/T 9729C)
SMP: AP CPU #3 Launched!
SMP: AP CPU #1 Launched!
SMP: AP CPU #2 Launched!
Timecounter "TSC-low" frequency 12082198 Hz quality 1000
ugen0.2: <vendor 0x8087> at usbus0
uhub2: <vendor 0x8087 product 0x0024, class 9/0, rev 2.00/0.00, addr 2> 
on usbus0
ugen1.2: <vendor 0x8087> at usbus1
uhub3: <vendor 0x8087 product 0x0024, class 9/0, rev 2.00/0.00, addr 2> 
on usbus1
da10 at mps0 bus 0 scbus0 target 21 lun 0
da10: <ATA GB0250EAFJF HPG6> Fixed Direct Access SCSI-6 device
da10: 300.000MB/s transfers
da10: Command Queueing enabled
da10: 238475MB (488397168 512 byte sectors: 255H 63S/T 30401C)
uhub3: 6 ports with 6 removable, self powered
uhub2: 6 ports with 6 removable, self powered
Root mount waiting for: usbus0
ugen0.3: <Winbond Electronics Corp> at usbus0
ums0: <Winbond Electronics Corp Hermon USB hidmouse Device, class 0/0, 
rev 1.10/0.01, addr 3> on usbus0
ums0: 3 buttons and [Z] coordinates ID=0
ukbd0: <Winbond Electronics Corp Hermon USB hidmouse Device, class 0/0, 
rev 1.10/0.01, addr 3> on usbus0
kbd2 at ukbd0
Trying to mount root from ufs:/dev/ada0p2 [rw]...
em0: link state changed to UP


Camcontrol devlist

filer01 ~ # camcontrol devlist
<ATA WDC WD800JD-60LS 1D07>        at scbus0 target 8 lun 0 (pass0,da0)
<ATA WDC WD800JD-60LS 1D07>        at scbus0 target 9 lun 0 (pass1,da1)
<ATA WDC WD2500AAJS-6 2E25>        at scbus0 target 10 lun 0 (pass2,da2)
<ATA WDC WD2500JS-60M 2E04>        at scbus0 target 11 lun 0 (pass3,da3)
<ATA WDC WD2500JS-60M 2E04>        at scbus0 target 12 lun 0 (pass4,da4)
<ATA ST3250620NS BJH>              at scbus0 target 13 lun 0 (pass5,da5)
<LSI CORP SAS2X28 0717>            at scbus0 target 16 lun 0 (ses0,pass6)
<ATA Maxtor 6L080M0 1G10>          at scbus0 target 17 lun 0 (pass7,da6)
<ATA Maxtor 6L080M0 1G10>          at scbus0 target 18 lun 0 (pass8,da7)
<ATA WDC WD800JD-60LS 1D07>        at scbus0 target 19 lun 0 (pass9,da8)
<ATA WDC WD800JD-60LU 1D07>        at scbus0 target 20 lun 0 (pass10,da9)
<ATA GB0250EAFJF HPG6>             at scbus0 target 21 lun 0 (pass11,da10)
<ATA ST3250620NS 3BJP>             at scbus0 target 22 lun 0 (pass12,da11)
<ATA ST3250620NS 3BJP>             at scbus0 target 23 lun 0 (pass13,da12)
<ATA ST3250620NS 3BJP>             at scbus0 target 24 lun 0 (pass14,da13)
<ATA ST3250310AS B>                at scbus0 target 27 lun 0 (pass15,da14)
<ATA ST3250620NS 3BJP>             at scbus0 target 28 lun 0 (pass16,da15)
<ST3808110AS 3.AJJ>                at scbus1 target 0 lun 0 (ada0,pass17)
<TSSTcorp CDDVDW SN-208BB SB00>    at scbus3 target 0 lun 0 (pass18,cd0)

regards
johan




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F38EFE2.7010905>