Re: [PATCH 2/4] mm/page_alloc: correct return value when failing at preparing

From: Mel Gorman
Date: Tue Jul 13 2021 - 11:21:38 EST


On Tue, Jul 13, 2021 at 03:01:24PM +0000, Chuck Lever III wrote:
>
>
> > On Jul 13, 2021, at 10:56 AM, Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Tue, Jul 13, 2021 at 02:21:58PM +0000, Chuck Lever III wrote:
> >>
> >>
> >>> 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;" ?
> >>
> >
> > I fixed that up in the series I sent out. I applied this patch first
> > then reconciled the collision with your patch.
>
> 3/4 still needs to change this "return nr_populated;" to "goto out;"
> as part of the clean up.
>

Sorry, I had that in my git tree but didn't refresh the broken-out
series properly before sending. I've sent a v2.

--
Mel Gorman
SUSE Labs