This version also works for me :)
I have gone through several times cleaning up
More cleanup is still needed but this is much better.
It is as one patch against -48um.
I have used it as a module also.
I am still having troubles with spinlocks when I put in
spin_lockirqsave/unlockireqrestore it dies
It also appears to depend on races in the list handling code.
I am still working on it but it has been several days so here is a new