powerpc/powernv: Fix memtrace build when NUMA=n
authorMichael Ellerman <mpe@ellerman.id.au>
Thu, 10 May 2018 13:09:13 +0000 (23:09 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 14 May 2018 09:25:43 +0000 (19:25 +1000)
Currently memtrace doesn't build if NUMA=n:

  In function ‘memtrace_alloc_node’:
  arch/powerpc/platforms/powernv/memtrace.c:134:6:
  error: the address of ‘contig_page_data’ will always evaluate as ‘true’
    if (!NODE_DATA(nid) || !node_spanned_pages(nid))
        ^

This is because for NUMA=n NODE_DATA(nid) points to an always
allocated structure, contig_page_data.

But even in the NUMA=y case memtrace_alloc_node() is only called for
online nodes, and we should always have a NODE_DATA() allocated for an
online node. So remove the (hopefully) overly paranoid check, which
also means we can build when NUMA=n.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/platforms/powernv/memtrace.c

index fc222a0..b99283d 100644 (file)
@@ -131,7 +131,7 @@ static u64 memtrace_alloc_node(u32 nid, u64 size)
        u64 start_pfn, end_pfn, nr_pages;
        u64 base_pfn;
 
-       if (!NODE_DATA(nid) || !node_spanned_pages(nid))
+       if (!node_spanned_pages(nid))
                return 0;
 
        start_pfn = node_start_pfn(nid);