The motivation here is two fold; Eventually I will want to sleep from more than a single place in vm_fault(). Secondly, fault has become a 900 line function that was only comprehensible to me after weeks. I have a series of patches that split the stages off into other functions simply to improve readability and control flow.