On Tue, Sep 20, 2022 at 4:46 PM Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> wrote: > > On Tue, Sep 20, 2022 at 09:45:35AM +0800, Zhaoyang Huang wrote: > > On Mon, Sep 19, 2022 at 6:22 PM Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> wrote: > > > > > > On Fri, Sep 16, 2022 at 06:58:12PM +0800, zhaoyang.huang wrote: > > > > From: Zhaoyang Huang <zhaoyang.huang@xxxxxxxxxx> > > > > > > > > Check the global free list again even if rmqueue_bulk failed for pcp pages when > > > > there is ongoing reclaiming, which could eliminate potential direct reclaim by > > > > chance. > > > > > > > > Signed-off-by: Zhaoyang Huang <zhaoyang.huang@xxxxxxxxxx> > > > > > > Patch does not apply and may be based on a custom kernel that introduced > > > a problem. There is no description of what problem this is trying to > > > fix. Checking the status of reclaim for a specific zone in this path would > > > be a little unexpected. If allocation pressure is exceeding the ability > > > of reclaim to make progress then the caller likely needs to take action > > > like direct reclaim. If the allocation failure is due to a high-order > > > failure then it may need to enter direct compaction etc. > > > > Agree with the above comment. This is a proposal aiming at avoiding > > direct reclaiming things with minimum cost, that is to say, about 5 > > CPU instructions in return with the overhead of function calls which > > has both of several loops inside and potential throttle sleep by IO > > congestion etc. > > If the refill fails and kswapd is failing to keep up then actions like > direct reclaim or compaction are inevitable. At best, this patch would > race to allocate pages in one context that are being freed in parallel by > another context. > > Nak. ok, I have noticed that the latest modification has made some changes on this path. thanks for comment > > -- > Mel Gorman > SUSE Labs