Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932732AbdCaDu0 (ORCPT ); Thu, 30 Mar 2017 23:50:26 -0400 Received: from out0-236.mail.aliyun.com ([140.205.0.236]:42134 "EHLO out0-236.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932525AbdCaDuY (ORCPT ); Thu, 30 Mar 2017 23:50:24 -0400 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R781e4;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e02c03278;MF=hillf.zj@alibaba-inc.com;NM=1;PH=DS;RN=21;SR=0;TI=SMTPD_---.7t4GW-o_1490932189; Reply-To: "Hillf Danton" From: "Hillf Danton" To: "'Michal Hocko'" , Cc: "'Andrew Morton'" , "'Mel Gorman'" , "'Vlastimil Babka'" , "'Andrea Arcangeli'" , "'Reza Arbab'" , "'Yasuaki Ishimatsu'" , "'Tang Chen'" , , "'Kani Toshimitsu'" , , "'Joonsoo Kim'" , "'Andi Kleen'" , "'Zhang Zhen'" , "'David Rientjes'" , "'Daniel Kiper'" , "'Igor Mammedov'" , "'Vitaly Kuznetsov'" , "'LKML'" , "'Michal Hocko'" References: <20170330115454.32154-1-mhocko@kernel.org> <20170330115454.32154-4-mhocko@kernel.org> In-Reply-To: <20170330115454.32154-4-mhocko@kernel.org> Subject: Re: [PATCH 3/6] mm: remove return value from init_currently_empty_zone Date: Fri, 31 Mar 2017 11:49:49 +0800 Message-ID: <04ad01d2a9d1$d99b0540$8cd10fc0$@alibaba-inc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook 14.0 Thread-Index: AQFU6y+5EAZL2+8hDBYbLS7ZosefXwEgoNBToqDG58A= Content-Language: zh-cn Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 932 Lines: 28 On March 30, 2017 7:55 PM Michal Hocko wrote: > > From: Michal Hocko > > init_currently_empty_zone doesn't have any error to return yet it is > still an int and callers try to be defensive and try to handle potential > error. Remove this nonsense and simplify all callers. > It is already cut off in 1/6 in this series? > -/* Can fail with -ENOMEM from allocating a wait table with vmalloc() or > - * alloc_bootmem_node_nopanic()/memblock_virt_alloc_node_nopanic() */ > -static int __ref ensure_zone_is_initialized(struct zone *zone, > +static void __ref ensure_zone_is_initialized(struct zone *zone, > unsigned long start_pfn, unsigned long num_pages) > { > - if (zone_is_empty(zone)) > - return init_currently_empty_zone(zone, start_pfn, num_pages); > - > - return 0; > + if (!zone_is_empty(zone)) > + init_currently_empty_zone(zone, start_pfn, num_pages); > } Semantic change added? Hillf