linux/include/asm-ppc64
Bob Picco 802f192e4a [PATCH] SPARSEMEM EXTREME
A new option for SPARSEMEM is ARCH_SPARSEMEM_EXTREME.  Architecture
platforms with a very sparse physical address space would likely want to
select this option.  For those architecture platforms that don't select the
option, the code generated is equivalent to SPARSEMEM currently in -mm.
I'll be posting a patch on ia64 ml which uses this new SPARSEMEM feature.

ARCH_SPARSEMEM_EXTREME makes mem_section a one dimensional array of
pointers to mem_sections.  This two level layout scheme is able to achieve
smaller memory requirements for SPARSEMEM with the tradeoff of an
additional shift and load when fetching the memory section.  The current
SPARSEMEM -mm implementation is a one dimensional array of mem_sections
which is the default SPARSEMEM configuration.  The patch attempts isolates
the implementation details of the physical layout of the sparsemem section
array.

ARCH_SPARSEMEM_EXTREME depends on 64BIT and is by default boolean false.

I've boot tested under aim load ia64 configured for ARCH_SPARSEMEM_EXTREME.
 I've also boot tested a 4 way Opteron machine with !ARCH_SPARSEMEM_EXTREME
and tested with aim.

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Bob Picco <bob.picco@hp.com>
Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-05 00:05:38 -07:00
..
iSeries [PATCH] iSeries build with newer assemblers and compilers 2005-08-16 21:06:25 -07:00
a.out.h [PATCH] ppc64: remove unnecessary include 2005-05-01 08:58:46 -07:00
abs_addr.h [PATCH] ppc64: Remove CONFIG_MSCHUNKS 2005-08-29 10:53:37 +10: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] ppc64: Fix issue with gcc 4.0 compiled kernels 2005-08-26 19:37:11 -07:00
bugs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
byteorder.h [PATCH] headers: enable ppc64 ___arch__swab16 and ___arch__swab32 2005-06-28 21:20:32 -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 [PATCH] compat: introduce compat_time_t 2005-06-23 09:45:32 -07:00
cputable.h [PATCH] ppc64: create firmware_has_feature() 2005-08-29 10:53:35 +10: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
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
fcntl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
firmware.h [PATCH] ppc64: introduce FW_FEATURE_ISERIES 2005-08-29 10:53:35 +10: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
hvcall.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hvconsole.h [PATCH] hvc_console: Register ops when setting up hvc_console 2005-07-07 18:23:39 -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] Four level pagetables for ppc64 2005-08-29 10:53:31 +10:00
io.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu.h [PATCH] ppc64: move iSeries vio iommu init 2005-08-29 10:53:32 +10: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 [PATCH] RCU: clean up a few remaining synchronize_kernel() calls 2005-06-25 16:24:38 -07:00
kexec.h [PATCH] ppc64: kexec support for ppc64 2005-06-25 16:24:51 -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 [PATCH] Return probe redesign: ppc64 specific implementation 2005-06-27 15:23:53 -07:00
lmb.h [PATCH] SPARSEMEM EXTREME 2005-09-05 00:05:38 -07:00
lppaca.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
machdep.h [PATCH] ppc64: Move ppc64_enable_pmcs() logic into a ppc_md function 2005-08-29 10:53:38 +10: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_context.h [PATCH] ppc64: pgtable.h and other header cleanups 2005-05-05 16:36:32 -07:00
mmu.h [PATCH] Dynamic hugepage addresses for ppc64 2005-08-29 10:53:38 +10:00
mmzone.h [PATCH] ppc64: sparsemem memory model 2005-06-23 09:45:06 -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 [PATCH] Remove NACA fixed address constraint 2005-08-29 10:53:33 +10:00
numnodes.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nvram.h [PATCH] ppc64: add a minimal nvram driver 2005-06-23 09:43:31 +10:00
of_device.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
paca.h [PATCH] ppc64: Simplify counting of lpevents, remove lpevent_count from paca 2005-06-30 15:16:09 +10:00
page.h [PATCH] Dynamic hugepage addresses for ppc64 2005-08-29 10:53:38 +10:00
param.h [PATCH] ppc64: Add CONFIG_HZ 2005-08-30 13:40:02 +10: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 [PATCH] pci and yenta: pcibios_bus_to_resource 2005-08-04 21:32:46 -07:00
pgalloc.h [PATCH] Four level pagetables for ppc64 2005-08-29 10:53:31 +10:00
pgtable.h [PATCH] ppc64: four level pagetables fix 2005-08-30 12:08:10 +10: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 [PATCH] ppc64: Move ppc64_enable_pmcs() logic into a ppc_md function 2005-08-29 10:53:38 +10:00
posix_types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ppc32.h [PATCH] compat: introduce compat_time_t 2005-06-23 09:45:32 -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] oprofile PVR 970MP 2005-08-30 13:38:19 +10:00
prom.h [PATCH] flattened device tree changes 2005-08-29 10:53:31 +10: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
rtas.h [PATCH] ppc64: pSeries_progress -> rtas_progress 2005-06-23 09:43:28 +10: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
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] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
smu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
socket.h [NET]: Introduce SO_{SND,RCV}BUFFORCE socket options 2005-08-29 15:31:35 -07:00
sockios.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sparsemem.h [PATCH] ppc64: sparsemem memory model 2005-06-23 09:45:06 -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
system.h [PATCH] ppc64: allow xmon=off 2005-08-29 10:53:37 +10: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] streamline preempt_count type across archs 2005-06-23 09:45:19 -07:00
time.h [PATCH] ppc64: consolidate calibrate_decr implementations 2005-06-23 09:43:07 +10: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 [PATCH] ppc64: topology API fix 2005-08-01 21:38:01 -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
uninorth.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unistd.h [PATCH] ppc64: inotify syscalls 2005-07-30 10:14:46 -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 [PATCH] Make MODULE_DEVICE_TABLE work for vio devices 2005-08-30 13:31:56 +10:00
xics.h [PATCH] ppc64: fix for kexec boot issue 2005-08-04 13:00:55 -07:00