> > I think Johannes said that waking up kswapd is Ok. OTOH, I did not see > the drawback in waking up kswapd to do background reclaim since it > does not happen synchronously right? I think Johannes said we can do > better than just waking kswapd by also doing light direct reclaim > using __GFP_NORETRY but let me know if I missed something. > Then i misunderstood that point. So, seems it is settled now. We just use GFP_NOWAIT | __GFP_RECLAIM | __GFP_NORETRY | __GFP_NOWARN for headless case, i.e. when we can sleep. It will do direct reclaim(slow path), but light one because of __GFP_NORETRY. Does it sound good? > > For single argument we inline freeing into current context after > > synchronize_rcu() because it follows might_sleep() annotation. > > Yes. > > Also, with the additional caching being planned, we could avoid the > chances of hitting the synchronize_rcu inlining. > Or minimize it. There is also one question i would like to clarify. That is dynamic head attaching that requires small allocations. Do we drop it? Thanks! -- Vlad Rezki