linux/Documentation
Andi Kleen 68a3a7feb0 [PATCH] x86_64: Reserve SRAT hotadd memory on x86-64
From: Keith Mannthey, Andi Kleen

Implement memory hotadd without sparsemem. The memory in the SRAT
hotadd area is just preserved instead and can be activated later.

There are a few restrictions:
- Only one continuous hotadd area allowed per node

The main problem is dealing with the many buggy SRAT tables
that are out there. The strategy here is to reject anything
suspicious.

Originally from Keith Mannthey, with several hacks and changes by AK
and also contributions from Andrew Morton

[ TBD: Problems pointed out by KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>:

 1) Goto's rebuild_zonelist patch will not work if CONFIG_MEMORY_HOTPLUG=n.

    Rebuilding zonelist is necessary when the system has just memory <
    4G at boot, and hot add memory > 4G.  because x86_64 has DMA32,
    ZONE_NORAML is not included into zonelist at boot time if system
    doesn't have memory >4G at boot.

    [AK: should just force the higher zones at boot time when SRAT tells us]

 2) zone and node's spanned_pages and present_pages are not incremented.
    They should be.

    For example, our server (ia64/Fujitsu PrimeQuest) can equip memory
    from 4G to 1T(maybe 2T in future), and SRAT will *always* say we have
    possible 1T +memory.  (Microsoft requires "write all possible memory
    in SRAT") When we reserve memmap for possible 1T memory, Linux will
    not work well in +minimum 4G configuraion ;)

    [AK: needs limiting to 5-10% of max memory]
 ]

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-04-09 11:53:16 -07:00
..
DocBook Documentation: fix minor kernel-doc warnings 2006-04-02 13:59:55 +02:00
RCU [PATCH] for_each_possible_cpu: documentaion 2006-03-28 09:16:05 -08:00
aoe [PATCH] aoe [2/8]: support dynamic resizing of AoE devices 2006-03-23 22:01:55 -08:00
arm [ARM] 3416/1: Update LART site URL 2006-03-27 15:32:30 +01:00
block [PATCH] update max_sectors documentation 2006-03-27 09:29:01 +02:00
cdrom
connector [CONNECTOR]: Use netlink_has_listeners() to avoind unnecessary allocations. 2006-03-20 22:21:40 -08:00
cpu-freq
cris
crypto
device-mapper
driver-model [PATCH] Clean up Documentation/driver-model/overview.txt 2006-02-03 08:31:59 -08:00
drivers/edac [PATCH] EDAC: documentation spelling fixes 2006-03-26 08:57:08 -08:00
dvb Documentation/dvb/get_dvb_firmware: fix firmware URL 2006-03-22 00:43:59 +01:00
early-userspace
fb [PATCH] Update cyblafb driver 2006-01-09 10:00:36 -08:00
filesystems [PATCH] Docs update: missing files and descriptions for filesystems/00-INDEX 2006-03-28 09:16:06 -08:00
firmware_class [PATCH] Doc: fix example firmware source code 2006-03-25 08:23:01 -08:00
fujitsu/frv Documentation: Make fujitsu/frv/kernel-ABI.txt 80 columns wide 2006-04-01 01:38:15 +02:00
hwmon [PATCH] w83781d: Don't reset the chip by default 2006-03-23 14:21:53 -08:00
i2c [PATCH] I2C: i2c-piix4: Add Broadcom HT-1000 support 2006-03-23 14:21:55 -08:00
i2o spelling: s/retreive/retrieve/ 2006-01-10 00:10:13 +01:00
i386
ia64
infiniband
input Input: gamecon - add SNES mouse support 2006-04-02 00:10:05 -05:00
ioctl spelling: s/appropiate/appropriate/ 2006-01-15 02:00:17 +01:00
isdn
kbuild kbuild: in makefile.txt note that Makefile is preferred name for kbuild files 2006-03-10 00:23:32 +01:00
kdump [PATCH] kdump: add dmesg gdbmacro into document 2006-01-11 18:42:10 -08:00
m68k [PATCH] Typo fixes 2006-03-28 09:16:08 -08:00
mips [MIPS] Update docs to reflect the latest status of the Alchemy IDE driver. 2006-02-14 19:13:23 +00:00
networking BFP->BPF in Documentation/networking/tuntap.txt 2006-04-01 01:46:12 +02:00
parisc
pcmcia [PATCH] pcmcia: convert remaining users of pcmcia_release_io and _irq 2006-03-31 17:15:51 +02:00
power [PATCH] swsusp: userland interface 2006-03-23 07:38:07 -08:00
powerpc [PATCH] powerpc: Kill _machine and hard-coded platform numbers 2006-03-28 23:15:54 +11:00
s390 [PATCH] s390: cio documentation update 2006-03-24 07:33:15 -08:00
scsi [SCSI] megaraid_sas: support for 1078 type controller added 2006-02-04 16:38:41 -06:00
serial
sh
sound [ALSA] AdLib FM card driver 2006-03-31 17:58:59 +02:00
sparc
spi [PATCH] SPI: spi_butterfly, restore lost deltas 2006-02-06 12:17:17 -08:00
sysctl [PATCH] suspend-to-ram: allow video options to be set at runtime 2006-02-20 20:00:10 -08:00
telephony
uml
usb V4L/DVB (3653h): Move usb v4l docs into Documentation/video4linux 2006-04-02 04:55:56 -03:00
video4linux V4L/DVB (3653h): Move usb v4l docs into Documentation/video4linux 2006-04-02 04:55:56 -03:00
vm [PATCH] Page migration documentation update 2006-03-14 21:43:02 -08:00
w1 [PATCH] W1: Add the DS2482 I2C-to-w1 bridge driver. 2006-03-23 17:28:12 -08:00
watchdog
x86_64 [PATCH] x86_64: Reserve SRAT hotadd memory on x86-64 2006-04-09 11:53:16 -07:00
00-INDEX
BUG-HUNTING Documentation: Update to BUG-HUNTING 2006-03-22 00:37:42 +01:00
Changes Documentation/Changes: remove outdated translation references 2006-03-20 20:28:13 +01:00
CodingStyle [PATCH] CodingStyle correction 2006-01-10 08:01:52 -08:00
DMA-API.txt
DMA-ISA-LPC.txt
DMA-mapping.txt [PATCH] Replace 0xff.. with correct DMA_xBIT_MASK 2006-03-28 09:16:07 -08:00
HOWTO
IO-mapping.txt
IPMI.txt
IRQ-affinity.txt
MSI-HOWTO.txt
ManagementStyle
PCIEBUS-HOWTO.txt
README.DAC960
README.cycladesZ
SAK.txt
SecurityBugs
SubmittingDrivers [PATCH] docs: update some updated code docs 2006-01-14 10:39:53 -08:00
SubmittingPatches [PATCH] docs: update some updated code docs 2006-01-14 10:39:53 -08:00
VGA-softcursor.txt
acpi-hotkey.txt Fix minor documentation typo 2006-04-01 01:49:22 +02:00
applying-patches.txt [PATCH] Docs update: typos, corrections and additions to applying-patches.txt 2006-01-10 08:01:54 -08:00
atomic_ops.txt
basic_profiling.txt
binfmt_misc.txt
cachetlb.txt [PATCH] Add flush_kernel_dcache_page() API 2006-03-26 08:56:53 -08:00
cciss.txt
cli-sti-removal.txt
computone.txt
cpqarray.txt
cpu-hotplug.txt [PATCH] for_each_possible_cpu: documentaion 2006-03-28 09:16:05 -08:00
cpusets.txt [PATCH] cpuset memory spread basic implementation 2006-03-24 07:33:22 -08:00
cputopology.txt [PATCH] trivial typos in Documentation/cputopology.txt 2006-03-28 09:16:08 -08:00
dcdbas.txt
debugging-modules.txt
dell_rbu.txt
devices.txt
digiepca.txt
dnotify.txt
dontdiff
eisa.txt
exception.txt
feature-removal-schedule.txt [PATCH] fs/namei.c: make lookup_hash() static 2006-03-31 12:19:01 -08:00
floppy.txt
ftape.txt
hayes-esp.txt
highuid.txt
hpet.txt Documentation/hpet.txt typo 2006-01-15 02:09:54 +01:00
hrtimers.txt [PATCH] hrtimer: hrtimer documentation 2006-01-10 08:01:37 -08:00
hw_random.txt
ibm-acpi.txt
ide.txt
initrd.txt
io_ordering.txt
ioctl-number.txt [PATCH] arch/i386/kernel/microcode.c: remove the obsolete microcode_ioctl 2006-03-28 09:16:06 -08:00
iostats.txt
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt [PATCH] Doc/kernel-doc: add more usage info 2006-02-01 08:53:27 -08:00
kernel-docs.txt
kernel-parameters.txt Doc/kernel-parameters.txt: slightly reword sentence about restrictions 2006-04-01 01:44:30 +02:00
keys-request-key.txt [PATCH] keys: Permit running process to instantiate keys 2006-01-08 20:13:53 -08:00
keys.txt [PATCH] keys: Permit running process to instantiate keys 2006-01-08 20:13:53 -08:00
kobject.txt
kprobes.txt [PATCH] kprobes: Update Documentation/kprobes.txt 2006-02-14 16:09:34 -08:00
kref.txt
laptop-mode.txt spelling: s/appropiate/appropriate/ 2006-01-15 02:00:17 +01:00
ldm.txt
leds-class.txt [PATCH] LED: class documentation 2006-03-31 12:18:56 -08:00
locks.txt [PATCH] Docs update: remove obsolete patch from locks.txt 2006-01-10 08:01:54 -08:00
logo.gif
logo.txt
magic-number.txt
mandatory.txt
mca.txt
md.txt [PATCH] md: allow sync-speed to be controlled per-device 2006-01-06 08:34:10 -08:00
memory-barriers.txt [PATCH] Document Linux's memory barriers [try #7] 2006-03-31 12:27:01 -08:00
memory.txt
mono.txt
moxa-smartio
mtrr.txt
mutex-design.txt [PATCH] mutex subsystem, documentation 2006-01-09 15:59:20 -08:00
nbd.txt
nfsroot.txt [PATCH] Updated Documentation/nfsroot.txt 2006-03-24 07:33:27 -08:00
nmi_watchdog.txt
nommu-mmap.txt
numastat.txt
oops-tracing.txt [PATCH] doc: refer to kdump in oops-tracing.txt 2006-01-11 18:42:10 -08:00
paride.txt
parport-lowlevel.txt [PATCH] parport: fix documentation 2006-02-03 08:32:06 -08:00
parport.txt
pci-error-recovery.txt [PATCH] Documentation: Updated PCI Error Recovery 2006-02-03 08:32:00 -08:00
pci.txt
pm.txt [ACPI] linux-acpi@vger.kernel.org replaces acpi-devel@lists.sourceforge.net 2006-01-06 16:19:26 -05:00
pnp.txt [PATCH] pnp: PNP: adjust pnp_register_driver signature 2006-03-27 08:44:53 -08:00
preempt-locking.txt
prio_tree.txt
ramdisk.txt
riscom8.txt
robust-futex-ABI.txt [PATCH] lightweight robust futexes updates 2006-03-27 08:44:49 -08:00
robust-futexes.txt [PATCH] lightweight robust futexes updates 2006-03-27 08:44:49 -08:00
rocket.txt
rpc-cache.txt [PATCH] knfsd: Update rpc-cache.txt to match recent changes 2006-03-27 08:44:43 -08:00
rtc.txt
sched-arch.txt
sched-coding.txt
sched-design.txt
sched-domains.txt
sched-stats.txt
seclvl.txt
serial-console.txt [PATCH] doc: more serial-console info 2006-03-25 08:23:00 -08:00
sgi-ioc4.txt
sgi-visws.txt
sharedsubtree.txt
smart-config.txt kbuild: remove checkconfig.pl 2006-02-19 09:51:22 +01:00
smp.txt
sonypi.txt
sparse.txt
specialix.txt
spinlocks.txt fix rwlock usage example 2006-03-22 00:19:39 +01:00
stable_api_nonsense.txt
stable_kernel_rules.txt [PATCH] Docs update: small fixes to stable_kernel_rules.txt 2006-01-10 08:01:55 -08:00
stallion.txt
svga.txt
sx.txt
sysrq.txt
time_interpolators.txt
tipar.txt
tty.txt
unicode.txt
unshare.txt [PATCH] unshare system call -v5: Documentation file 2006-02-07 16:12:34 -08:00
voyager.txt
xterm-linux.xpm
zorro.txt

README.cycladesZ

The Cyclades-Z must have firmware loaded onto the card before it will
operate.  This operation should be performed during system startup,

The firmware, loader program and the latest device driver code are
available from Cyclades at
    ftp://ftp.cyclades.com/pub/cyclades/cyclades-z/linux/