On Wed 27-10-21 15:01:50, Huangzhaoyang wrote: > From: Zhaoyang Huang <zhaoyang.huang@xxxxxxxxxx> > > For the kswapd only reclaiming, there is no chance to try again on > this group while direct reclaim has. fix it by judging gfp flag. There is no problem description (same as in your last submissions. Have you looked at the patch submission documentation as recommended previously?). Also this patch doesn't make any sense. Both direct reclaim and kswapd use a gfp mask which contains __GFP_DIRECT_RECLAIM (see balance_pgdat for the kswapd part).. > Signed-off-by: Zhaoyang Huang <zhaoyang.huang@xxxxxxxxxx> Nacked-by: Michal Hocko <mhocko@xxxxxxxx> > --- > mm/vmscan.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 74296c2..41f5776 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -2704,7 +2704,8 @@ static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc, > unsigned long protection; > > /* memory.low scaling, make sure we retry before OOM */ > - if (!sc->memcg_low_reclaim && low > min) { > + if (!sc->memcg_low_reclaim && low > min > + && sc->gfp_mask & __GFP_DIRECT_RECLAIM) { > protection = low; > sc->memcg_low_skipped = 1; > } else { > -- > 1.9.1 -- Michal Hocko SUSE Labs