SCSI_TRACK_QUEUE_FUL(9) SCSI mid layer SCSI_TRACK_QUEUE_FUL(9)NAME
scsi_track_queue_full - track QUEUE_FULL events to adjust queue depth
int scsi_track_queue_full(struct scsi_device * sdev, int depth);
SCSI Device in question
Current number of outstanding SCSI commands on this device, not counting the one returned as QUEUE_FULL.
This function will track successive QUEUE_FULL events on a specific SCSI device to determine if and when there is a need to adjust the
queue depth on the device.
0 - No change needed, >0 - Adjust queue depth to this new depth, -1 - Drop back to untagged operation using host->cmd_per_lun as the
untagged command depth
None held on entry
Low level drivers may call this at any time and we will do "The Right Thing." We are interrupt context safe.
James Bottomley <James.Bottomley@hansenpartnership.com>
Rob Landley <email@example.com>
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 SCSI_TRACK_QUEUE_FUL(9)
Check Out this Related Man Page
scsi_max_qdepth(5) File Formats Manual scsi_max_qdepth(5)NAME
scsi_max_qdepth - maximum number of I/Os that target will queue up for execution (OBSOLETE)
Most SCSI-2 and above devices accept multiple commands and have enough internal memory to support the default queue depth set by HP. You
may change the default value to tune devices for higher throughput or load balancing.
Note: This tunable is obsolete and is replaced by the attribute which can be set through the command. See scsimgr(1M).
Some SCSI devices support tagged queuing, which means that they can have more than one SCSI command outstanding at any point in time. The
number of commands that can be outstanding varies by device, and is not known to HP-UX. To avoid overflowing this queue, HP-UX will not
send more than a certain number of outstanding commands to any SCSI device. This tunable sets the default value for that limit. The
default value can be overridden for specific devices using
Queue depth is synonymous to the tagged queuing. When supported by a target, it allows the target to accept multiple SCSI commands for
execution. Some targets can allow up to 256 commands to be stored from different initiators. This mechanism can help optimization for
better performance. Once the target command queue is full, the target terminates any additional I/O and returns a status to the initiator.
Targets may support less than 256 commands to be queued, hence the factory defaults to
If the system has a combination of devices that support small and larger queue depths, then a queue depth can be set to a value which would
work for most devices. For specific devices, the system administrator can change the queue depth on a per device basis using See
scsictl(1M) for more on how to use
The values for both 32-bit and 64-bit kernel are the same.
Who Is Expected to Change This Tunable?
Restrictions on Changing
Changes to this tunable take effect immediately.
When Should the Value of This Tunable Be Raised?
SCSI devices that have enough memory to support higher queue depth than the default set by HP. Such devices may offer better performance
if the queue depth is set to a higher value.
What Are the Side Effects of Raising the Value of This Tunable?
The queue depth applies to all the SCSI devices that support tag queuing. Setting the queue depth to a value larger than the disk can han-
dle will result in I/Os being held off once a condition exists on the disk. A mechanism exists that will lower the queue depth of the
device in case of condition avoiding infinite conditions on that device. Nevertheless, this mechanism will periodically try higher queue
depths and conditions will arise.
When Should the Value of This Tunable Be Lowered?
When the connected SCSI devices support smaller queue depth or for load balancing.
What Are the Side Effects of Lowering the Value of This Tunable?
Devices that support higher queue depth may not deliver optimal performance when a lower queue depth value is set.
What Other Tunables Should Be Changed at the Same Time?
All HP-UX kernel tunable parameters are release specific. This parameter has been obsoleted for HP-UX 11i Version 3.
Installation of optional kernel software, from HP or other vendors, may cause changes to tunable parameter values. After installation,
some tunable parameters may no longer be at the default or recommended values. For information about the effects of installation on tun-
able values, consult the documentation for the kernel software being installed. For information about optional kernel software that was
factory installed on your system, see at
was developed by HP.
SEE ALSO scsictl(1M), ioctl(2), scsi(7).
OBSOLETE Tunable Kernel Parameters scsi_max_qdepth(5)