On Thu, 09. May 20:57, Barry Song wrote: > > Upon further examination, it's not a bug, but we can still utilize 'nofail'. > The current code is very hard to read about gfp and "nofail" :-) > > maybe: > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index 6641be0ca80b..7c66fe16c2ad 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -3498,7 +3498,7 @@ vm_area_alloc_pages(gfp_t gfp, int nid, > { > unsigned int nr_allocated = 0; > gfp_t alloc_gfp = gfp; > - bool nofail = false; > + bool nofail = !!(gfp & __GFP_NOFAIL); > struct page *page; > int i; > > @@ -3555,7 +3555,6 @@ vm_area_alloc_pages(gfp_t gfp, int nid, > * and compaction etc. > */ > alloc_gfp &= ~__GFP_NOFAIL; > - nofail = true; > } Thanks for suggestion. I think that makes more clearly. Will try it in next version. -- Best Regards, Hailong.