Re: [PATCH 1/2] mm/page_alloc.c: Implement an emptyget_pfn_range_for_nid

From: Andrew Morton
Date: Mon Oct 07 2013 - 19:54:28 EST


On Sun, 06 Oct 2013 01:31:36 +0800 Zhang Yanfei <zhangyanfei.yes@xxxxxxxxx> wrote:

> From: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
>
> Implement an empty get_pfn_range_for_nid for !CONFIG_HAVE_MEMBLOCK_NODE_MAP,
> so that we could remove the #ifdef in free_area_init_node.
>
> ...
>
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -4566,6 +4566,11 @@ static unsigned long __meminit zone_absent_pages_in_node(int nid,
> }
>
> #else /* CONFIG_HAVE_MEMBLOCK_NODE_MAP */
> +void __meminit get_pfn_range_for_nid(unsigned int nid,
> + unsigned long *ignored, unsigned long *ignored)
> +{
> +}
> +
> static inline unsigned long __meminit zone_spanned_pages_in_node(int nid,
> unsigned long zone_type,
> unsigned long node_start_pfn,
> @@ -4871,9 +4876,7 @@ void __paginginit free_area_init_node(int nid, unsigned long *zones_size,
> pgdat->node_id = nid;
> pgdat->node_start_pfn = node_start_pfn;
> init_zone_allows_reclaim(nid);
> -#ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP
> get_pfn_range_for_nid(nid, &start_pfn, &end_pfn);
> -#endif
> calculate_node_totalpages(pgdat, start_pfn, end_pfn,
> zones_size, zholes_size);

Dunno, really. This will make the kernel a tiny bit larger by
generating an out-of-line empty function which nobody calls. This
could be fixed by making this static inline, but it's strange to have
one version of get_pfn_range_for_nid() static inline and the other
global, uninlined.

Is it worth adding a few bytes to vmlinux just to make the source a little
tidier?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/