Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/dev



Module Name:    src
Committed By:   jdolecek
Date:           Mon Oct 22 20:13:47 UTC 2018

Modified Files:
        src/sys/dev/ata: TODO.ncq ata.c ata_subr.c ata_wdc.c atavar.h files.ata
            satapmp_subr.c wd.c wdvar.h
        src/sys/dev/ic: ahcisata_core.c ahcisatavar.h mvsata.c mvsatavar.h
            siisata.c siisatavar.h wdc.c
        src/sys/dev/scsipi: atapi_wdc.c
        src/sys/dev/usb: umass_isdata.c
Added Files:
        src/sys/dev/ata: ata_recovery.c

Log Message:
Merge jdolecek-ncqfixes branch

- ata_xfer's are dynamicall allocated as needed using a pool, no longer
  limited to number of possible openings supported by controller; dump
  and recovery paths use dedicated pre-allocated storage
- moved callouts and condvars from ata_xfer to queue or channel, so that
  ata_xfer does not need special initialization
- slot allocation now done when xfer is being activated, uncoupled
  from memory allocation; active slots are no longer tracked by controller
  code
- channel and drive reset is done always via the atabus thread, and
  now executes with channel locked the whole time
- NCQ recovery moved to shared function, and run via the thread also
- added some workarounds for buggy error recovery AHCI emulation in QEMU
  and Parallels

designed to primarily fix kern/52614, but might also help with kern/47041
and kern/53183


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/ata/TODO.ncq
cvs rdiff -u -r1.141 -r1.142 src/sys/dev/ata/ata.c
cvs rdiff -u -r0 -r1.2 src/sys/dev/ata/ata_recovery.c
cvs rdiff -u -r1.6 -r1.7 src/sys/dev/ata/ata_subr.c
cvs rdiff -u -r1.111 -r1.112 src/sys/dev/ata/ata_wdc.c
cvs rdiff -u -r1.99 -r1.100 src/sys/dev/ata/atavar.h
cvs rdiff -u -r1.27 -r1.28 src/sys/dev/ata/files.ata
cvs rdiff -u -r1.14 -r1.15 src/sys/dev/ata/satapmp_subr.c
cvs rdiff -u -r1.441 -r1.442 src/sys/dev/ata/wd.c
cvs rdiff -u -r1.46 -r1.47 src/sys/dev/ata/wdvar.h
cvs rdiff -u -r1.63 -r1.64 src/sys/dev/ic/ahcisata_core.c
cvs rdiff -u -r1.18 -r1.19 src/sys/dev/ic/ahcisatavar.h
cvs rdiff -u -r1.42 -r1.43 src/sys/dev/ic/mvsata.c
cvs rdiff -u -r1.4 -r1.5 src/sys/dev/ic/mvsatavar.h
cvs rdiff -u -r1.35 -r1.36 src/sys/dev/ic/siisata.c
cvs rdiff -u -r1.7 -r1.8 src/sys/dev/ic/siisatavar.h
cvs rdiff -u -r1.288 -r1.289 src/sys/dev/ic/wdc.c
cvs rdiff -u -r1.130 -r1.131 src/sys/dev/scsipi/atapi_wdc.c
cvs rdiff -u -r1.37 -r1.38 src/sys/dev/usb/umass_isdata.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index