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>