Re: [PATCH V5 1/3] mm/nobootmem: Fix unused variable

David Rientjes
2014-01-21T06:16:38Z

On Mon, 20 Jan 2014, Philipp Hachtmann wrote:

> diff --git a/mm/nobootmem.c b/mm/nobootmem.c
> index e2906a5..0215c77 100644
> --- a/mm/nobootmem.c
> +++ b/mm/nobootmem.c
> @@ -116,23 +116,29 @@ static unsigned long __init __free_memory_core(phys_addr_t start,
> static unsigned long __init free_low_memory_core_early(void)
> {
> unsigned long count = 0;
> - phys_addr_t start, end, size;
> + phys_addr_t start, end;
> u64 i;
>
> +#ifdef CONFIG_ARCH_DISCARD_MEMBLOCK
> + phys_addr_t size;
> +#endif
> +
> for_each_free_mem_range(i, NUMA_NO_NODE, &start, &end, NULL)
> count += __free_memory_core(start, end);
>
> #ifdef CONFIG_ARCH_DISCARD_MEMBLOCK
> -
> - /* Free memblock.reserved array if it was allocated */
> - size = get_allocated_memblock_reserved_regions_info(&start);
> - if (size)
> - count += __free_memory_core(start, start + size);
> -
> - /* Free memblock.memory array if it was allocated */
> - size = get_allocated_memblock_memory_regions_info(&start);
> - if (size)
> - count += __free_memory_core(start, start + size);
> + {
> + phys_addr_t size;

I think you may have misunderstood Andrew's suggestion: "size" here is
overloading the "size" you have already declared for this configuration.

Not sure why you don't just do a one line patch:

- phys_addr_t size;
+ phys_addr_t size __maybe_unused;

to fix it.

> + /* Free memblock.reserved array if it was allocated */
> + size = get_allocated_memblock_reserved_regions_info(&start);
> + if (size)
> + count += __free_memory_core(start, start + size);
> +
> + /* Free memblock.memory array if it was allocated */
> + size = get_allocated_memblock_memory_regions_info(&start);
> + if (size)
> + count += __free_memory_core(start, start + size);
> + }
> #endif
>
> return count;