psm(4) & atkbdc(4) locking

Vladimir Kondratyev vladimir at kondratyev.su
Mon May 8 18:58:56 UTC 2017


On 2017-05-08 21:39, Warner Losh wrote:
> On Mon, May 8, 2017 at 12:33 PM, Vladimir Kondratyev
> <vladimir at kondratyev.su> wrote:
>> Hi All
>> 
>> In order to implement evdev support in psm(4) driver I`m going to add
>> mutexes to psm and atkbdc drivers and mark psm interrupt and cdev 
>> handlers
>> MPSAFE.
>> Atkbd(4) is depending on Giant like before.
>> 
>> Locking of these drivers seems to be low-hanging fruit as spl() calls 
>> are
>> still in place but it has not occurred.
>> 
>> Does someone know why it is not done yet? For reasons other than 
>> "Nobody
>> took care of it"?
>> Any hidden traps?
> 
> Working rock-solid reliably in ddb(4) is what tripped me up when I
> started down this path 10 years ago.

I tried to avoid atkbd changes as much as possible. Patch adds atkbdc 
mutex acquisition
before each hardware access and nothing more. I think mutexes should be 
ignored in ddb mode.

> Understanding all the rules for
> that was a bridge too far for me given the time I had for the project
> then. If you have that covered (I haven't looked at the diffs yet),
> you're golden.

I`m not familiar with ddb internals, that is why i wrote first mail.

> 
> Warner


>> Patches can be found here:
>> https://reviews.freebsd.org/D10263 (atkbdc, serialize hw registers 
>> access)
>> https://reviews.freebsd.org/D10264 (psm, serialize softc access, mark
>> interrupt and cdev handlers MPSAFE)
>> 

-- 
WBR
Vladimir Kondratyev


More information about the freebsd-arch mailing list