Re: [PATCH 2/4] mm/page_alloc: correct return value when failing at preparing
From: Chuck Lever III
Date: Tue Jul 13 2021 - 11:01:47 EST
> 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.
--
Chuck Lever