LSI supported mps(4) driver available

Dennis Glatting freebsd at penx.com
Thu Jan 26 04:47:41 UTC 2012


On Fri, 2012-01-20 at 13:44 -0700, Kenneth D. Merry wrote:
> The LSI-supported version of the mps(4) driver that supports their 6Gb SAS
> HBAs as well as WarpDrive controllers, is available here:
> 
> http://people.freebsd.org/~ken/lsi/mps_lsi.20120120.1.txt
> 
> I plan to check it in to head next week, and then MFC it into stable/9 a
> week after that most likely.
> 
> Please test it out and let me 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!
> 

Does this include the SAS2008 series chips? I have two systems, one a
Tyan FT48-B8812 with a S8812 MB and Interlagos chips, where I am
interested in using a driver under 9.0 amd64.


> I have added a number of other infrastructure changes that are necessary
> for the driver, and here is a brief summary:
> 
>  - A new Advanced Information buffer is now added to the EDT for drives
>    that support READ CAPACITY (16).  The da(4) driver updates this buffer
>    when it grabs new read capacity data from a drive.
>  - The mps(4) driver will look for Advanced Information state change async
>    events, and updates its table of drives with protection information
>    turned on accordingly.
>  - The size of struct scsi_read_capacity_data_long has been bumped up to
>    the amount specified in the latest SBC-3 draft.  The hope is to avoid
>    some future structure size bumps with that change.  The API for
>    scsi_read_capacity_16() has been changed to add a length argument.
>    Hopefully this will future-proof it somewhat.
>  - __FreeBSD_version bumped for the addition of the Advanced Information
>    buffer with the read capacity information.  The mps(4) driver has a
>    kludgy way of getting the information on versions of FreeBSD without
>    this change.
> 
> I believe that the CAM API changes are mild enough and beneficial enough
> for a merge into stable/9, but they are intertwined with the unmap changes
> in the da(4) driver, so those changes will have to go back to stable/9 as
> well in order to MFC the full set of changes.
> 
> Otherwise it'll just be the driver that gets merged into stable/9, and
> it'll use the kludgy method of getting the read capacity data for each
> drive.
> 
> A couple of notes about issues with this driver:
> 
>  - Unlike the current 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 driver in the tree has 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




More information about the freebsd-scsi mailing list