Module Name: src Committed By: mlelstv Date: Sun Nov 20 15:37:19 UTC 2016
Modified Files: src/share/man/man9: scsipi.9 src/sys/dev/scsipi: atapi_wdc.c atapiconf.c cd.c ch.c if_se.c scsi_base.c scsiconf.c scsipi_base.c scsipi_base.h scsipi_ioctl.c scsipiconf.c scsipiconf.h sd.c ses.c ss.c ss_mustek.c ss_scanjet.c st.c uk.c Log Message: Make scsipi framework MPSAFE. Data structures are now protected by a per-adapter mutex at IPL_BIO that is created by the scsibus or atapibus instance when the adapter is configured. The enable reference counter and the channel freeze counter which are currently used by HBA code before the adapter is configured, are made atomic. The target drivers are now all tagged as D_MPSAFE. Almost all HBA drivers still require the kernel lock to present, so all callbacks into HBA code are still protected by kernel lock unless the driver is tagged as SCSIPI_ADAPT_MPSAFE. TODO: refactor sd and cd to use dksubr. To generate a diff of this commit: cvs rdiff -u -r1.28 -r1.29 src/share/man/man9/scsipi.9 cvs rdiff -u -r1.122 -r1.123 src/sys/dev/scsipi/atapi_wdc.c cvs rdiff -u -r1.88 -r1.89 src/sys/dev/scsipi/atapiconf.c cvs rdiff -u -r1.332 -r1.333 src/sys/dev/scsipi/cd.c cvs rdiff -u -r1.90 -r1.91 src/sys/dev/scsipi/ch.c \ src/sys/dev/scsipi/scsi_base.c cvs rdiff -u -r1.92 -r1.93 src/sys/dev/scsipi/if_se.c cvs rdiff -u -r1.275 -r1.276 src/sys/dev/scsipi/scsiconf.c cvs rdiff -u -r1.166 -r1.167 src/sys/dev/scsipi/scsipi_base.c cvs rdiff -u -r1.22 -r1.23 src/sys/dev/scsipi/scsipi_base.h cvs rdiff -u -r1.68 -r1.69 src/sys/dev/scsipi/scsipi_ioctl.c cvs rdiff -u -r1.41 -r1.42 src/sys/dev/scsipi/scsipiconf.c cvs rdiff -u -r1.123 -r1.124 src/sys/dev/scsipi/scsipiconf.h cvs rdiff -u -r1.318 -r1.319 src/sys/dev/scsipi/sd.c cvs rdiff -u -r1.49 -r1.50 src/sys/dev/scsipi/ses.c cvs rdiff -u -r1.87 -r1.88 src/sys/dev/scsipi/ss.c cvs rdiff -u -r1.42 -r1.43 src/sys/dev/scsipi/ss_mustek.c cvs rdiff -u -r1.53 -r1.54 src/sys/dev/scsipi/ss_scanjet.c cvs rdiff -u -r1.229 -r1.230 src/sys/dev/scsipi/st.c cvs rdiff -u -r1.64 -r1.65 src/sys/dev/scsipi/uk.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.