page allocator: break up the allocator entry point into fast and slow paths