Patch 10/10 is based on an old POC patch by me, but it's heavily modified.
It looks like it does a few minor things that are not optimal, like extra
spinlock/unlock, and wait_for_completion_timeout() with magical timeout value.
I haven't tested this version, but I guess any fixes or cleanups can be done
later on top of it.
I can revert it now if you want, just let me know.