It looks pretty good but I have no way to test it. Insofar as the
serializer goes, if you make a mistake you'll probably deadlock a
thread or three, but it should be readily debuggable.
Were you in a GUI during the crash? When/if my system freezes in a GUI i also
cant go to ddb. Have to try to reproduce the crash from the shell
environment.
I took the changes out, and I'm running a stock kernel, and it seems to
be ok. So it's gotta be something going on. Maybe i should just use
lockmgr locks, and forget the intr/serializer stuff?