Max Queue depth of HBA limited to 256 ?

Desai, Kashyap Kashyap.Desai at lsi.com
Mon Jan 21 14:46:10 UTC 2013


Hi,

I was trying to check few things on LSI controller, where we have more than 256 queue depth support.
I added default maxtags in scsi/scsi_xpt.c as below. (Because I don't want mattags to restrict any outstanding commands the LSI HBA.

    {
        /* Default tagged queuing parameters for all devices */
        {
          T_ANY, SIP_MEDIA_REMOVABLE|SIP_MEDIA_FIXED,
          /*vendor*/"*", /*product*/"*", /*revision*/"*"
        },
        /*quirks*/0, /*mintags*/2, /*maxtags*/1024      <--- Default maxtags were 256. I increase it to 10234
    },


LSI's SAS-HBA and MR-HBA can support more than 256 outstanding commands in Firmware.  But due to some reason, I am not able to pump more than 256 outstanding commands to the HBA.

I used "rawio -p 256 /dev/da1" and more /dev/dax in loop. I have sysctl parameter in Driver to display outstanding "FW commands". Max value for FW outstanding only goes up to 256.

Also from some other mail thread Subject "mfi driver performance", I found that folks talk about tuning queue depth _but_ nobody discussed to increase it beyond 256. Is there any limitation in FreeBSD ?

~ Kashyap


More information about the freebsd-scsi mailing list