052936080c
phys_to_nid() maps physical address to NUMA node id. This is
implemented by building perfect hash in compute_hash_shift() during
initialization.
However, with SPARSE memory model, the nid is encoded in page flags.
The perfect hash implementation was for DISCONTIG memory model which
got removed years ago by b263295dbf
(x86: 64-bit, make sparsemem
vmemmap the only memory model).
So, the perfect hash ends up being used only during initialization
when the core SPARSE code already provides perfectly acceptable
generic early_pfn_to_nid() implementation.
Drop phys_to_nid() and use the generic ealry_pfn_to_nid() instead.
Signed-off-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Christoph Lameter <cl@linux-foundation.org>
Acked-by: Yinghai Lu <yinghai@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
20 lines
561 B
C
20 lines
561 B
C
/* K8 NUMA support */
|
|
/* Copyright 2002,2003 by Andi Kleen, SuSE Labs */
|
|
/* 2.5 Version loosely based on the NUMAQ Code by Pat Gaughen. */
|
|
#ifndef _ASM_X86_MMZONE_64_H
|
|
#define _ASM_X86_MMZONE_64_H
|
|
|
|
#ifdef CONFIG_NUMA
|
|
|
|
#include <linux/mmdebug.h>
|
|
#include <asm/smp.h>
|
|
|
|
extern struct pglist_data *node_data[];
|
|
|
|
#define NODE_DATA(nid) (node_data[nid])
|
|
|
|
#define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn)
|
|
#define node_end_pfn(nid) (NODE_DATA(nid)->node_start_pfn + \
|
|
NODE_DATA(nid)->node_spanned_pages)
|
|
#endif
|
|
#endif /* _ASM_X86_MMZONE_64_H */
|