> From: Doug White [mailto:dwhite_at_gumbysoft.com] > On Tue, 6 Apr 2004, Yuriy Tsibizov wrote: > > > > > Today I've noticied that my driver is marked as Giant-locked: > > > > > > Is it actually MPSAFE? If so, feel free to mark it as such, > > > although pcm > > > isn't fully locked yet, so we take no responsibility for > any damage > > > caused :) > > > > Some sound drivers in -CURRENT allocate interrupts with INTR_MPSAFE. > > The problem is that after including dev/sound/pcm/sound.h > INTR_MPSAFE no longer equals to 512, but it is set to 0. And > if sound driver interrupt was allocated as > INTR_TYPE_AV|INTR_MPSAFE it will be marked only as INTR_TYPE_TTY. > > Ever think that might be intentional? :) I'd poke > -multimedia to get the > sound driver folks, though. Exactly the same piece of code exist on RELENG_4 branch. I think it was used to allow INTR_MPSAFE|INTR_TYPE_AV inside sound drivers in 4.x, where INTR_MPSAFE and INTR_TYPE_AV are not defined. If PCM subsystem in 5.x requires that sound drivers should not mark interrupts as INTR_MPSAFE it can be done in less ambiguous way, like this: -sound.h- /* * PCM subsystem in not fully locked. * This should force use of Giant lock for sound drivers * even when they claim to be MPSAFE. */ #ifndef I_THINK_THAT_PCM_IS_MPSAFE #define INTR_MPSAFE 0 #endif -sound.h- and remove wrong #ifdef INTR_MPSAFE checks, because INTR_MPSAFE was never defined. On RELENG_4 it can be replaced with FreeBSD version check. Yuriy.Received on Tue Apr 06 2004 - 21:23:58 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:50 UTC