On 2/17/21 12:13 AM, Michal Hocko wrote: > On Tue 16-02-21 11:44:34, Mike Kravetz wrote: > [...] >> If we are not going to do the allocations under the lock, then we will need >> to either preallocate or take the workqueue approach. > > We can still drop the lock temporarily right? As we already do before > calling destroy_compound_gigantic_page... > Yes we can. I forgot about that. Actually, very little of what update_and_free_page does needs to be done under the lock. Perhaps, just decrementing the global count and clearing the destructor so PageHuge() is no longer true. -- Mike Kravetz