On Apr 19, 2012, at 6:03 PM, matthew green wrote: >> But that's a problem with autoconf not dealing with non-MPSAFE drivers, >> not the driver themselve (they were working before the MP changes, they >> should continue to work as-is). If you want autoconf to not run >> under the KERNEL_LOCK when not needed, then is has to be extended so that >> MPSAFE drivers can register themselves as MPSAFE, so that non-MPSAFE >> drivers are still called with KERNEL_LOCK. > > it seems the wrong answer to me. instead of fixing the one or > two drivers you've found problems in, you want to add more > infrastructure (IMO clutter) to the system and patch all the > drivers that *are* ok. considering that this problem is > very specific to scsipi, i don't think that is a viable > solution.
FreeBSD started out with MPSAFE and then went to NEEDS_GIANT as flags for the drivers. I'm with Matthew: patch the drivers that are broken (or not known to be safe) and then you have a convenient thing to grep for when you want to expand the drivers that are safe. Much better that way, and it turned out to be a big win in FreeBSD when we went from opt-in MPSAFE to out-out... Warner