HP-UX 11i June 2001 Release Notes
Process, Threads, Memory, and Kernel Parameters
SCSI Queue Depth Management (new at 11i original release)
Chapter 8 177
SCSI Queue Depth Management (new at 11i
original release)
If you have multiple active paths to a SCSI device (LUN), you might need
to manage your device queue depths to maximize the device’s
performance. This is particularly true with dynamic multi-pathing
applications--such as EMC’s PowerPath application--which allow all
multiple paths to a LUN to be in use simultaneously. In such cases, you
should check the queue depth specified on each path. If it is set to a value
that is more appropriate for an environment where only one path is
active at any point in time, you might need to lower the value.
Even in single-pathing or static multi-pathing environments,
management of device queue depths can be important to maximize the
performance and throughput of the storage device. A single hard-coded
default queue depth of 8 existed originally on 11.0 and could be changed
only one device at a time via an ioctl to the device. But, it does not meet
the needs of all devices and configurations.
So, HP-UX 11i contains the following enhancements to the SCSI device
queue depth management:
1. A dynamic tunable called scsu_max_qdepth has been added. This
tunable allows you to set the default queue depth that will apply to
devices that have not been individually set via the
SIOC_SET_LUN_LIMITS ioctl or scsictl command. This tunable
is “dynamic,” which means that it can be changed and will be applied
without having to reboot the system.
2. On 11.0, the queue depth could be changed on a per-device basis via
the SIOC_SET_LUN_LIMITS ioctl or the scsictl command.
However, the settings were not persistent across device opens and
closes. That is, on 11.0 the queue depth setting on a device would
disappear on the last close of the device and would go back to the
system default of 8 when the device was re-opened.On 11i, the
per-device queue depth settings will persist across opens and closes.
This allows you to set the queue depth only once during or after boot
up to maintain a desired value.
The 11i “scsi_max_qdepth” tunable can be changed or read via the
kmtune command. See the kmtune (1M) manpage for details. The only
change in the behavior of the per-device queue depth settings is the