Dave Hansen
408fde81c1
[PATCH] remove non-DISCONTIG use of pgdat->node_mem_map
...
This patch effectively eliminates direct use of pgdat->node_mem_map outside
of the DISCONTIG code. On a flat memory system, these fields aren't
currently used, neither are they on a sparsemem system.
There was also a node_mem_map(nid) macro on many architectures. Its use
along with the use of ->node_mem_map itself was not consistent. It has
been removed in favor of two new, more explicit, arch-independent macros:
pgdat_page_nr(pgdat, pagenr)
nid_page_nr(nid, pagenr)
I called them "pgdat" and "nid" because we overload the term "node" to mean
"NUMA node", "DISCONTIG node" or "pg_data_t" in very confusing ways. I
believe the newer names are much clearer.
These macros can be overridden in the sparsemem case with a theoretically
slower operation using node_start_pfn and pfn_to_page(), instead. We could
make this the only behavior if people want, but I don't want to change too
much at once. One thing at a time.
This patch removes more code than it adds.
Compile tested on alpha, alpha discontig, arm, arm-discontig, i386, i386
generic, NUMAQ, Summit, ppc64, ppc64 discontig, and x86_64. Full list
here: http://sr71.net/patches/2.6.12/2.6.12-rc1-mhp2/configs/
Boot tested on NUMAQ, x86 SMP and ppc64 power4/5 LPARs.
Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Martin J. Bligh <mbligh@aracnet.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-23 09:45:00 -07:00
..
iSeries
[PATCH] ppc64 iSeries: tidy up irq code after merge
2005-06-21 18:46:30 -07:00
8253pit.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
a.out.h
[PATCH] ppc64: remove unnecessary include
2005-05-01 08:58:46 -07:00
abs_addr.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
agp.h
[PATCH] AGP fix for Xen VMM
2005-06-07 12:35:43 -07:00
atomic.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
bitops.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
bootinfo.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
btext.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
bug.h
[PATCH] remove all kernel BUGs
2005-05-01 08:59:01 -07:00
bugs.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
byteorder.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
cache.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
cacheflush.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
checksum.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
compat.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
cputable.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
cputime.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
current.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
dbdma.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
delay.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
div64.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
dma-mapping.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
dma.h
[PATCH] ppc64 iSeries: allow build with no PCI
2005-06-21 18:46:31 -07:00
eeh.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
elf.h
[PATCH] ppc64: Fix PER_LINUX32 behaviour
2005-06-08 16:24:15 -07:00
errno.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
fcntl.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
floppy.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
hardirq.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
hdreg.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
hvcall.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
hvconsole.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
hvcserver.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
hw_irq.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ide.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
imalloc.h
[PATCH] ppc64: Abolish ioremap_mm
2005-06-21 18:46:26 -07:00
io.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ioctl.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ioctls.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
iommu.h
[PATCH] ppc64 iSeries: allow build with no PCI
2005-06-21 18:46:31 -07:00
ipc.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ipcbuf.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
irq.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
kdebug.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
keylargo.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
kmap_types.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
kprobes.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
linkage.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
lmb.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
local.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
lppaca.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
machdep.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
macio.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mc146818rtc.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
memory.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mman.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mmu.h
[PATCH] ppc64: pgtable.h and other header cleanups
2005-05-05 16:36:32 -07:00
mmu_context.h
[PATCH] ppc64: pgtable.h and other header cleanups
2005-05-05 16:36:32 -07:00
mmzone.h
[PATCH] remove non-DISCONTIG use of pgdat->node_mem_map
2005-06-23 09:45:00 -07:00
module.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
msgbuf.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
naca.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
namei.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
numnodes.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
nvram.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
of_device.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
paca.h
[PATCH] ppc64 iSeries: tidy up some includes and HvCall.h
2005-06-21 18:46:28 -07:00
page.h
[PATCH] ppc64: Abolish ioremap_mm
2005-06-21 18:46:26 -07:00
param.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
parport.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pci-bridge.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pci.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
percpu.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pgalloc.h
[PATCH] ppc64: update to use the new 4L headers
2005-05-01 08:58:44 -07:00
pgtable.h
[PATCH] ppc64: Abolish ioremap_mm
2005-06-21 18:46:26 -07:00
plpar_wrappers.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pmac_feature.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pmac_low_i2c.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pmc.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
poll.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
posix_types.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ppc32.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ppc_asm.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ppcdebug.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
processor.h
[PATCH] ppc64: Abolish ioremap_mm
2005-06-21 18:46:26 -07:00
prom.h
[PATCH] ppc32/ppc64: cleanup /proc/device-tree
2005-06-01 07:54:14 -07:00
pSeries_reconfig.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ptrace-common.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ptrace.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
resource.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
rtas.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
rwsem.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
scatterlist.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
seccomp.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
sections.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
segment.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
semaphore.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
sembuf.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
serial.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
setup.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
shmbuf.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
shmparam.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
sigcontext.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
siginfo.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
signal.h
[PATCH] asm/signal.h unification
2005-05-04 07:33:15 -07:00
smp.h
[PATCH] smp_processor_id() cleanup
2005-06-21 18:46:13 -07:00
smu.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
socket.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
sockios.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
spinlock.h
[PATCH] ppc64: reverse prediction on spinlock busy loop code
2005-05-01 08:58:47 -07:00
sstep.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
stat.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
statfs.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
string.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
system.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
systemcfg.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
termbits.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
termios.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
thread_info.h
[PATCH] ppc64: cleanup iseries runlight support
2005-06-02 15:12:30 -07:00
time.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
timex.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
tlb.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
tlbflush.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
topology.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
types.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
uaccess.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ucontext.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
udbg.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
unaligned.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
uninorth.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
unistd.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
user.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
vdso.h
[PATCH] ppc64: Improve mapping of vDSO
2005-04-16 15:24:35 -07:00
vga.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
vio.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
xics.h
[PATCH] ppc64: global interrupt queue cleanup
2005-05-06 08:07:01 -07:00
xor.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00