This patchset modifies the gsync module so that it works with remote tasks. The idea is to create a temporary kernel mapping when the contents of the address have to be read (gsync_wait) or written (gsync_wake).
It also implements a basic sleeping lock to replace the simple locks that were guarding the buckets in gsync. This is done to prevent issues when page faults occur while holding said locks. It has been reworked after helpful input from Samuel Thibault in the previous patchset. As always, I'm open to any comments, suggestions or criticism :)