If a page fault happens, you might need to swap pages out in order to
satisfy the request for an additional page. You might think you could just
use GFP_ATOMIC allocation for this, but the pages have to be contiguous
(which might involve memory motion and swapping on its own), and if a lot
of processes all need extra stack at once you'll run short on the free (->
normally wasted) memory available for GFP_ATOMIC allocations.