Understanding Linux SCSI queue depths

Posted by Troels Arvin on Server Fault See other posts from Server Fault or by Troels Arvin
Published on 2010-03-17T10:54:23Z Indexed on 2010/03/17 11:01 UTC
Read the original article Hit count: 652

Filed under:
|
|
|

I'm experimenting with the effects of different SCSI queue depth values on a Dell server running CentOS Linux 5.4 (x86_64).

The server has two QLogic QLE2560 FC HBAs connected via multipathing to a storage system. The storage system has allocated two LUNs to the server, each connected through four paths in an active-active-active-active round-robin configuration. All in all, the two LUNs exist as eight /dev/sdX devices, represented by two devices in /dev/mpath.

I currently adjust the queue depth values in /etc/modprobe.conf and check the result (after rebooting) by looking in the seventh column of /proc/scsi/sg/devices.

Two questions related to that:

  • Is there a way to adjust queue depths without rebooting or unloading the qla2xxx kernel module? E.g., can I echo a new queue depth value into some /proc or /sys-like file to update the queue depth?

  • If I set the queue depth to 128, is that

    • 128 in total for all devices handled by the qla2xxx module?, or
    • 128 for each HBA? (256 in total), or
    • 128 for each of the eight /dev/sdX devices (1024 in toal)?, or
    • 128 for each of the two /dev/mpath/... devices (256 in total)?

    This is important for me to know so that my server doesn't flood the storage system, affecting other servers connected to it.

© Server Fault or respective owner

Related posts about linux

Related posts about scsi