> On Jul 13, 2021, at 9:56 AM, Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> wrote: > > From: Yanfei Xu <yanfei.xu@xxxxxxxxxxxxx> > > If the array passed in is already partially populated, we should > return "nr_populated" even failing at preparing arguments stage. > > Signed-off-by: Yanfei Xu <yanfei.xu@xxxxxxxxxxxxx> > Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> > Link: https://lore.kernel.org/r/20210709102855.55058-1-yanfei.xu@xxxxxxxxxxxxx > --- > mm/page_alloc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 6ef86f338151..803414ce9264 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -5255,7 +5255,7 @@ unsigned long __alloc_pages_bulk(gfp_t gfp, int preferred_nid, > gfp &= gfp_allowed_mask; > alloc_gfp = gfp; > if (!prepare_alloc_pages(gfp, 0, preferred_nid, nodemask, &ac, &alloc_gfp, &alloc_flags)) > - return 0; > + return nr_populated; Can you restore the hunk in patch 3/4 that changes this "return nr_populated;" to "goto out;" ? > gfp = alloc_gfp; > > /* Find an allowed local zone that meets the low watermark. */ > -- > 2.26.2 > -- Chuck Lever