Module Name: src Committed By: jdolecek Date: Fri Jun 23 20:40:51 UTC 2017
Modified Files: src/sys/dev/ata [jdolecek-ncq]: TODO.ncq ata.c atavar.h wd.c wdvar.h Log Message: restart I/O processing after freeing xfer, i.e. now even after commands like cache flush or standby; the command handling no longer use on-stack xfer, hence use queue slot and compete with normal I/O for the xfers the restart give change to all drives attached to the same channel in round-robin fashion, for fair usage and to recover from situation when disk is idle due to all xfers being consumed by other drives make special concession for flush cache - ignore any new I/O requests on the particular disk while the flush cache is waiting for xfer, so that I/O queue won't starve the flush cache and the flush cache would be done ASAP tested on piixide(4), ahci(4), siisata(4) To generate a diff of this commit: cvs rdiff -u -r1.1.2.21 -r1.1.2.22 src/sys/dev/ata/TODO.ncq cvs rdiff -u -r1.132.8.15 -r1.132.8.16 src/sys/dev/ata/ata.c cvs rdiff -u -r1.92.8.14 -r1.92.8.15 src/sys/dev/ata/atavar.h cvs rdiff -u -r1.428.2.19 -r1.428.2.20 src/sys/dev/ata/wd.c cvs rdiff -u -r1.43.4.5 -r1.43.4.6 src/sys/dev/ata/wdvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.