This is a "feature" mentioned in Ali's book, with the note that it isn't currently supported. Is there any chance of this being implemented along the model of if deadlock, give all locks to the thread with the lowest Tid until unlock, then pass the lock to the thread with the next-highest Tid, and so on and so forth.