scsi_track_queue_full(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… scsi_track_queue_full β€” the "bestie please chill" function for SCSI queue depth

okay so bestie, welcome to scsi_track_queue_full(9) from the Kernel API Manual ✨ this one's a kernel function and it is literally the vibe-checker for QUEUE_FULL events πŸŽ€


🌸 NAME 🌸

scsi_track_queue_full β€” tracks QUEUE_FULL events so it can adjust the queue depth, no cap πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

int scsi_track_queue_full (struct scsi_device *sdev , int depth );

✨ ARGUMENTS ✨

  • sdev β€” the SCSI Device in question 🫢 like, the actual device we're side-eyeing.
  • depth β€” the current number of outstanding SCSI commands on this device, and not counting the one that came back as QUEUE_FULL πŸ™ˆ (important, don't @ me).

πŸ’– DESCRIPTION πŸ’–

so this function tracks successive QUEUE_FULL events on one specific SCSI device, and it's doing that to figure out if and when there's a need to adjust the queue depth on the device πŸ‘‘ like it's watching the pattern, noticing the struggle, and deciding whether things need to change.

Lock Status: None held on entry πŸ”“ periodt.


🌈 RETURN 🌈

  • 0 β€” no change needed, everything's fine, we stay slaying πŸ’…
  • >0 β€” adjust the queue depth to this new depth πŸ”₯ (yes, the return value is the new depth, iconic)
  • -1 β€” drop back to untagged operation using host->cmd_per_lun as the untagged command depth 😭 like, we're going old school

πŸ“ NOTES πŸ“

low level drivers may call this at any time and we will do "The Right Thing." πŸ’€ fr fr. We are interrupt context safe 🧚 which is highkey the whole point.


πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./drivers/scsi/scsi.c plus all of these besties:

scsi_finish_command(9), scsi_change_queue_depth(9), scsi_vpd_inquiry(9), scsi_get_vpd_page(9), scsi_get_vpd_buf(9), scsi_attach_vpd(9), scsi_report_opcode(9), scsi_cdl_check(9), scsi_cdl_enable(9), scsi_device_get(9), scsi_device_put(9), starget_for_each_device(9), __starget_for_each_device(9), __scsi_device_lookup_by_target(9), scsi_device_lookup_by_target(9), __scsi_device_lookup(9), scsi_device_lookup(9)


πŸ’œ one more thing bestie: this page lives in ./drivers/scsi, it's from October 2026, and it's the scsi_track_queue_full(9) man page β€” so like, cite it properly, mwah πŸ’‹

stay safe out there and remember: track your QUEUE_FULL events, know your depth πŸŒΈπŸ¦‹βœ¨

πŸ“¦ where this page comes from