:Here's my latest patch. The difference from the last is that I interlocked :the tsleeps and asserted that the serializer is held in the interrupt :handler. 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. -Matt