git: kernel - Fix I/O stalls caused by TRIM ops
Matthew Dillon
dillon at crater.dragonflybsd.org
Fri Oct 23 16:49:52 PDT 2026
commit f25f77d1f448b7b04a4ab6e662115276d9d7c5c8
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Fri Oct 23 16:44:56 2026 -0700
kernel - Fix I/O stalls caused by TRIM ops
* I/O can stall out in physstr when TRIM ops are delpoyed. The
cause is that the da_softc->outstanding_cmds_rd tracker used by
the I/O balancer was decrementing the field on TRIM completions.
* Fix by ensuring that the tracker only applies to READ commands.
* Refactor scheduling checks in dastart(). The checks were a bit broken
but worked due to a catch-all in dadone(). Refactor so they work properly.
* Refactor conditional/block syntax a bit for readability.
Reported-by: myself and numerous others
Summary of changes:
sys/bus/cam/scsi/scsi_da.c | 82 ++++++++++++++++++++++++++++------------------
1 file changed, 51 insertions(+), 31 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f25f77d1f448b7b04a4ab6e662115276d9d7c5c8
--
DragonFly BSD source repository
More information about the Commits
mailing list