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