On 01/31/2018 11:19 PM, Baoquan He wrote:
>       for_each_present_section_nr(0, pnum) {
> +             struct mem_section *ms;
> +             ms = __nr_to_section(pnum);
>               usemap = usemap_map[pnum];
> -             if (!usemap)
> +             if (!usemap) {
> +#ifdef CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER
> +                     ms->section_mem_map = 0;
> +#endif
>                       continue;
> +             }
>  
>  #ifdef CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER
>               map = map_map[pnum];
>  #else
>               map = sparse_early_mem_map_alloc(pnum);
>  #endif
> -             if (!map)
> +             if (!map) {
> +#ifdef CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER
> +                     ms->section_mem_map = 0;
> +#endif
>                       continue;
> +             }

This is starting to look like code that only a mother could love.  Can
this be cleaned up a bit?

Reply via email to