On 04/10/2017 07:03 AM, Michal Hocko wrote:
> From: Michal Hocko <mho...@suse.com>
> 
> 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.
> 
> This patch shouldn't have any visible effect
> 
> Signed-off-by: Michal Hocko <mho...@suse.com>
> ---

Reviewed-by: Yasuaki Ishimatsu <isimatu.yasu...@jp.fujitsu.com>

Thanks,
Yasuaki Ishimatsu

>  include/linux/mmzone.h |  2 +-
>  mm/memory_hotplug.c    | 23 +++++------------------
>  mm/page_alloc.c        |  8 ++------
>  3 files changed, 8 insertions(+), 25 deletions(-)
> 
> diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
> index ebaccd4e7d8c..0fc121bbf4ff 100644
> --- a/include/linux/mmzone.h
> +++ b/include/linux/mmzone.h
> @@ -771,7 +771,7 @@ enum memmap_context {
>       MEMMAP_EARLY,
>       MEMMAP_HOTPLUG,
>  };
> -extern int init_currently_empty_zone(struct zone *zone, unsigned long 
> start_pfn,
> +extern void init_currently_empty_zone(struct zone *zone, unsigned long 
> start_pfn,
>                                    unsigned long size);
>  
>  extern void lruvec_init(struct lruvec *lruvec);
> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> index 257166ebdff0..9ed251811ec3 100644
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -347,27 +347,20 @@ static void fix_zone_id(struct zone *zone, unsigned 
> long start_pfn,
>               set_page_links(pfn_to_page(pfn), zid, nid, pfn);
>  }
>  
> -/* 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_initialized(zone))
> -             return init_currently_empty_zone(zone, start_pfn, num_pages);
> -
> -     return 0;
> +             init_currently_empty_zone(zone, start_pfn, num_pages);
>  }
>  
>  static int __meminit move_pfn_range_left(struct zone *z1, struct zone *z2,
>               unsigned long start_pfn, unsigned long end_pfn)
>  {
> -     int ret;
>       unsigned long flags;
>       unsigned long z1_start_pfn;
>  
> -     ret = ensure_zone_is_initialized(z1, start_pfn, end_pfn - start_pfn);
> -     if (ret)
> -             return ret;
> +     ensure_zone_is_initialized(z1, start_pfn, end_pfn - start_pfn);
>  
>       pgdat_resize_lock(z1->zone_pgdat, &flags);
>  
> @@ -403,13 +396,10 @@ static int __meminit move_pfn_range_left(struct zone 
> *z1, struct zone *z2,
>  static int __meminit move_pfn_range_right(struct zone *z1, struct zone *z2,
>               unsigned long start_pfn, unsigned long end_pfn)
>  {
> -     int ret;
>       unsigned long flags;
>       unsigned long z2_end_pfn;
>  
> -     ret = ensure_zone_is_initialized(z2, start_pfn, end_pfn - start_pfn);
> -     if (ret)
> -             return ret;
> +     ensure_zone_is_initialized(z2, start_pfn, end_pfn - start_pfn);
>  
>       pgdat_resize_lock(z1->zone_pgdat, &flags);
>  
> @@ -480,12 +470,9 @@ static int __meminit __add_zone(struct zone *zone, 
> unsigned long phys_start_pfn)
>       int nid = pgdat->node_id;
>       int zone_type;
>       unsigned long flags, pfn;
> -     int ret;
>  
>       zone_type = zone - pgdat->node_zones;
> -     ret = ensure_zone_is_initialized(zone, phys_start_pfn, nr_pages);
> -     if (ret)
> -             return ret;
> +     ensure_zone_is_initialized(zone, phys_start_pfn, nr_pages);
>  
>       pgdat_resize_lock(zone->zone_pgdat, &flags);
>       grow_zone_span(zone, phys_start_pfn, phys_start_pfn + nr_pages);
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 9c587000d408..0cacba69ab04 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -5517,7 +5517,7 @@ static __meminit void zone_pcp_init(struct zone *zone)
>                                        zone_batchsize(zone));
>  }
>  
> -int __meminit init_currently_empty_zone(struct zone *zone,
> +void __meminit init_currently_empty_zone(struct zone *zone,
>                                       unsigned long zone_start_pfn,
>                                       unsigned long size)
>  {
> @@ -5535,8 +5535,6 @@ int __meminit init_currently_empty_zone(struct zone 
> *zone,
>  
>       zone_init_free_lists(zone);
>       zone->initialized = 1;
> -
> -     return 0;
>  }
>  
>  #ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP
> @@ -5999,7 +5997,6 @@ static void __paginginit free_area_init_core(struct 
> pglist_data *pgdat)
>  {
>       enum zone_type j;
>       int nid = pgdat->node_id;
> -     int ret;
>  
>       pgdat_resize_init(pgdat);
>  #ifdef CONFIG_NUMA_BALANCING
> @@ -6081,8 +6078,7 @@ static void __paginginit free_area_init_core(struct 
> pglist_data *pgdat)
>  
>               set_pageblock_order();
>               setup_usemap(pgdat, zone, zone_start_pfn, size);
> -             ret = init_currently_empty_zone(zone, zone_start_pfn, size);
> -             BUG_ON(ret);
> +             init_currently_empty_zone(zone, zone_start_pfn, size);
>               memmap_init(size, nid, j, zone_start_pfn);
>       }
>  }
> 

Reply via email to