Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Jan 2013 10:05:29 -0700
From:      "Kenneth D. Merry" <>
To:        "Desai, Kashyap" <>
Cc:        "" <>, "" <>, "McConnell, Stephen" <>
Subject:   Re: Max Queue depth of HBA limited to 256 ?
Message-ID:  <>
In-Reply-To: <>
References:  <>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
On Mon, Jan 21, 2013 at 20:15:47 +0530, Desai, Kashyap wrote:
> 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 */
>         {
>           /*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 ?

As Jim pointed out, one thing to check is the values passed into
cam_sim_alloc().  In the case of the mps(4) driver, the calculation is
in mps_attach():

sc->num_reqs = MIN(MPS_REQ_FRAMES, sc->facts->RequestCredit);

What is reported for the RequestCredit on this particular adapter?

The other question is, what does 'camcontrol tags daX -v' show when you are
running the test?

Kenneth Merry

Want to link to this message? Use this URL: <>