linux-sg2042/Documentation
Stanislaw Gruszka c0a32fc5a2 mm: more intensive memory corruption debugging
With CONFIG_DEBUG_PAGEALLOC configured, the CPU will generate an exception
on access (read,write) to an unallocated page, which permits us to catch
code which corrupts memory.  However the kernel is trying to maximise
memory usage, hence there are usually few free pages in the system and
buggy code usually corrupts some crucial data.

This patch changes the buddy allocator to keep more free/protected pages
and to interlace free/protected and allocated pages to increase the
probability of catching corruption.

When the kernel is compiled with CONFIG_DEBUG_PAGEALLOC,
debug_guardpage_minorder defines the minimum order used by the page
allocator to grant a request.  The requested size will be returned with
the remaining pages used as guard pages.

The default value of debug_guardpage_minorder is zero: no change from
current behaviour.

[akpm@linux-foundation.org: tweak documentation, s/flg/flag/]
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-01-10 16:30:42 -08:00
..
ABI Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb 2012-01-09 12:09:47 -08:00
DocBook Merge branch 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-01-06 07:53:34 -08:00
PCI doc: fix broken references 2011-09-27 18:08:04 +02:00
RCU docs: Additional LWN links to RCU API 2011-12-11 10:32:23 -08:00
accounting Documentation: update cgroupfs mount point 2011-06-15 21:52:50 -07:00
acpi ACPI, APEI, EINJ Param support is disabled by default 2011-08-03 11:15:59 -04:00
aoe Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
arm ARM: move iotable mappings within the vmalloc region 2011-11-26 19:21:26 -05:00
auxdisplay includecheck fix: Documentation, cfag12864b-example.c 2009-09-24 07:20:57 -07:00
blackfin doc: fix broken references 2011-09-27 18:08:04 +02:00
block Documentation: drop as block elevator reference in switching-sched.txt 2011-11-04 12:01:48 -07:00
blockdev cciss: auto engage SCSI mid layer at driver load time 2011-11-16 09:21:49 +01:00
cdrom doc: fix broken references 2011-09-27 18:08:04 +02:00
cgroups Merge branch 'for-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup 2012-01-09 12:59:24 -08:00
connector Documentation/: it's -> its where appropriate 2010-04-23 02:09:52 +02:00
console doc: fix console doc typo 2010-02-24 13:51:32 +01:00
cpu-freq Doc: cpufreq: Fix typo and outdated line 2011-11-08 10:23:29 +01:00
cpuidle
cris
crypto async_tx: add support for asynchronous RAID6 recovery operations 2009-08-29 19:09:27 -07:00
development-process Documentation: Update stable address 2011-12-12 14:14:31 -08:00
device-mapper dm log userspace: fix comment hyphens 2011-10-31 20:21:22 +00:00
devicetree power management changes for omap and imx 2012-01-09 14:39:59 -08:00
driver-model lib: devres: add convenience function to remap a resource 2011-11-15 16:07:39 -08:00
dvb [media] update az6027 firmware URL 2011-10-14 10:29:45 -03:00
early-userspace
fault-injection fault-injection: update documentation with the mmc module param 2011-10-26 16:32:13 -04:00
fb udlfb: Enable fbcon access to framebuffer by default 2011-08-24 10:12:38 +00:00
filesystems Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2012-01-08 12:19:57 -08:00
firmware_class firmware: Update hotplug script 2010-08-05 13:53:34 -07:00
frv doc: fix broken references 2011-09-27 18:08:04 +02:00
hid HID: Move hiddev.txt to the new Documentation/hid directory 2011-03-22 11:43:51 +01:00
hwmon hwmon: (pmbus/zl6100) Add support for Ericsson BMR45[0,1] and BMR46[2,3,4] 2012-01-05 08:19:28 -08:00
i2c i2c: Fix device name for 10-bit slave address 2011-11-23 11:33:07 +01:00
i2o doc: i2o: fix typo 'Settting' 2011-06-07 16:06:01 +02:00
ia64 Fix common misspellings 2011-03-31 11:26:23 -03:00
ide ide: preserve Host Protected Area by default (v2) 2009-06-07 13:52:52 +02:00
infiniband Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2011-10-27 08:44:20 +02:00
ioctl ioctl: register LTTng ioctl 2011-09-12 11:50:56 -07:00
isdn doc: fix wrong arch/i386 references 2011-06-13 13:43:05 +02:00
ja_JP Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2011-07-25 23:06:24 -07:00
kbuild doc: fix wrong arch/i386 references 2011-06-13 13:43:05 +02:00
kdump [S390] Add s390x description to Documentation/kdump/kdump.txt 2011-12-27 11:27:13 +01:00
ko_KR Docs/Kconfig: Update: osdl.org -> linuxfoundation.org 2010-11-15 23:50:13 +01:00
laptops Documentation: thinkpad-acpi grammo fixes 2011-11-04 12:01:47 -07:00
leds Documentation: fix leds-class.txt duplicated word 2011-11-04 12:01:48 -07:00
m68k Documentation: add pointer to name_to_dev_t for root= values 2011-08-03 14:25:21 -10:00
make kbuild: introduce HDR_ARCH_LIST for headers_install_all 2010-12-14 22:16:19 +01:00
mips Fix common misspellings 2011-03-31 11:26:23 -03:00
misc-devices Fix common misspellings 2011-03-31 11:26:23 -03:00
mmc mmc: documentation of mmc non-blocking request usage and design. 2011-07-21 10:34:52 -04:00
mn10300 trivial: Miscellaneous documentation typo fixes 2009-06-12 18:01:47 +02:00
mtd Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
namespaces
netlabel Documentation/: it's -> its where appropriate 2010-04-23 02:09:52 +02:00
networking bonding: document undocumented active_slave sysfs entry. 2011-12-26 20:09:35 -05:00
nfc NFC: Driver for NXP Semiconductors PN544 NFC chip. 2011-01-13 08:03:19 -08:00
parisc
pcmcia pcmcia: use autoconfiguration feature for ioports and iomem 2010-09-29 17:20:24 +02:00
power PM: Run the driver callback directly if the subsystem one is not there 2011-12-21 22:01:05 +01:00
powerpc Fix common misspellings 2011-03-31 11:26:23 -03:00
pps pps: add parallel port PPS signal generator 2011-01-13 08:03:21 -08:00
prctl
pti Kernel documentation for the PTI feature. 2011-05-13 16:31:00 -07:00
ptp ptp: Added a brand new class driver for ptp clocks. 2011-05-23 13:01:00 -07:00
rapidio RapidIO: documentation update 2011-11-02 16:07:02 -07:00
s390 [S390] Remove Kerntypes leftovers 2011-12-27 11:27:12 +01:00
scheduler sched: Add documentation for bandwidth control 2011-08-14 12:03:58 +02:00
scsi Merge branch 'master' into for-next 2011-11-13 20:55:53 +01:00
security doc: fix broken references 2011-09-27 18:08:04 +02:00
serial serial/documentation: fix documented name of DCD cpp symbol 2012-01-04 16:26:32 -08:00
sh sh: clkfwk: Kill off unused clk_set_rate_ex(). 2010-11-15 18:25:12 +09:00
sound Merge branch 'fix/asoc' into for-linus 2011-12-06 13:22:28 +01:00
sparc
spi doc: fix broken references 2011-09-27 18:08:04 +02:00
sysctl kernel/sysctl.c: add cap_last_cap to /proc/sys/kernel 2011-10-31 17:30:53 -07:00
target [SCSI] tcm_mod_builder.py: Fix generated *_drop_nodeacl() handler 2011-03-23 11:36:45 -05:00
telephony Fix common misspellings 2011-03-31 11:26:23 -03:00
thermal thermal: Add event notification to thermal framework 2011-01-12 00:08:35 -05:00
timers doc: fix broken references 2011-09-27 18:08:04 +02:00
trace mm-tracepoint: fix documentation and examples 2012-01-10 16:30:41 -08:00
usb USB: update documentation for usbmon 2012-01-04 16:04:30 -08:00
vDSO Document the vDSO and add a reference parser 2011-07-14 17:57:09 -07:00
video4linux [media] gspca - zc3xx: New webcam 03f0:1b07 HP Premium Starter Cam 2011-09-23 23:31:12 -03:00
virtual KVM: Don't automatically expose the TSC deadline timer in cpuid 2011-12-26 13:27:44 +02:00
vm Merge branches 'slab/next' and 'slub/partial' into slab/for-linus 2011-10-26 18:09:12 +03:00
w1 Fix common misspellings 2011-03-31 11:26:23 -03:00
watchdog Documentation: watchdog: add guide how to convert drivers to new framework 2011-11-05 21:25:16 +01:00
wimax
x86 x86-64, doc: Remove int 0xcc from entry_64.S documentation 2011-08-16 08:04:08 -07:00
zh_CN remove the messy code file Documentation/zh_CN/SubmitChecklist 2011-09-26 16:18:41 -07:00
.gitignore add random binaries to .gitignore 2010-04-08 11:34:34 +02:00
00-INDEX Documentation: add Ramoops usage description 2011-08-13 18:34:03 -07:00
BUG-HUNTING
Changes Documentation/Changes: remove some really obsolete text 2011-07-11 16:48:38 -07:00
CodingStyle Documentation: update CodingStyle use of braces 2011-11-04 12:01:47 -07:00
DMA-API-HOWTO.txt Documentation/DMA-API-HOWTO.txt: fix misleading example 2011-07-26 16:49:45 -07:00
DMA-API.txt include/linux/dma-mapping.h: add dma_zalloc_coherent() 2011-11-02 16:07:02 -07:00
DMA-ISA-LPC.txt
DMA-attributes.txt
HOWTO Documentation: Update stable address 2011-12-12 14:14:31 -08:00
IPMI.txt IPMI: Add the document description of ipmi_get_smi_info 2010-12-14 00:22:00 -05:00
IRQ-affinity.txt bitmap, irq: add smp_affinity_list interface to /proc/irq 2011-05-25 08:39:45 -07:00
IRQ.txt
Intel-IOMMU.txt intel-iommu: Kill DMAR_BROKEN_GFX_WA option. 2009-09-19 09:37:23 -07:00
Makefile [media] Remove the old V4L1 v4lgrab.c file 2010-12-29 08:17:12 -02:00
ManagementStyle
SAK.txt
SM501.txt trivial: Miscellaneous documentation typo fixes 2009-06-12 18:01:47 +02:00
SecurityBugs Fix common misspellings 2011-03-31 11:26:23 -03:00
SubmitChecklist Documentation/SubmitChecklist: add RCU debug config options 2011-07-25 20:57:17 -07:00
SubmittingDrivers Documentation: SubmittingDrivers: fix Linus's git tree URL 2011-08-13 18:34:03 -07:00
SubmittingPatches Documentation: fix spelling error in SubmittingPatches 2011-08-13 18:34:02 -07:00
VGA-softcursor.txt
applying-patches.txt
atomic_ops.txt doc: Add load/store guarantees to Documentation/atomic-ops.txt 2011-12-11 10:31:58 -08:00
bad_memory.txt
basic_profiling.txt
binfmt_misc.txt Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
braille-console.txt trivial: Miscellaneous documentation typo fixes 2009-06-12 18:01:47 +02:00
bt8xxgpio.txt
btmrvl.txt Bluetooth: Add documentation for Marvell Bluetooth driver 2009-08-22 14:25:32 -07:00
bus-virt-phys-mapping.txt doc: fix broken references 2011-09-27 18:08:04 +02:00
cachetlb.txt mm: convert mm->cpu_vm_cpumask into cpumask_var_t 2011-05-25 08:39:21 -07:00
circular-buffers.txt Document Linux's circular buffering capabilities 2010-03-24 16:31:22 -07:00
coccinelle.txt scripts/coccinelle: update for compatability with Coccinelle 0.2.4 2010-12-03 12:27:01 +01:00
cpu-hotplug.txt Fix common misspellings 2011-03-31 11:26:23 -03:00
cpu-load.txt
cputopology.txt topology/sysfs: Provide book id and siblings attributes 2010-09-09 20:41:25 +02:00
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt ieee1394: update URLs in debugging-via-ohci1394.txt 2009-10-03 09:28:11 +02:00
dell_rbu.txt Fix common misspellings 2011-03-31 11:26:23 -03:00
devices.txt devices.txt: Fix typo of 'VMware'. 2011-12-09 11:21:32 +01:00
dma-buf-sharing.txt dma-buf: Documentation for buffer sharing framework 2012-01-06 10:20:24 +00:00
dmaengine.txt Improve slave/cyclic DMA engine documentation 2011-07-27 20:33:48 +05:30
dontdiff [S390] Remove Kerntypes leftovers 2011-12-27 11:27:12 +01:00
dynamic-debug-howto.txt Merge branch 'docs-next' of git://git.lwn.net/linux-2.6 2011-03-27 19:46:59 -07:00
edac.txt Merge branch 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6 2011-04-07 11:14:49 -07:00
eisa.txt Fix common misspellings 2011-03-31 11:26:23 -03:00
email-clients.txt Documentation: email-clients: Add better Thunderbird information 2011-08-13 18:34:03 -07:00
feature-removal-schedule.txt Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb 2012-01-09 12:09:47 -08:00
flexible-arrays.txt flex_array: flex_array_prealloc takes a number of elements, not an end 2011-04-28 16:12:47 -04:00
futex-requeue-pi.txt futex: add requeue-pi documentation 2009-05-09 07:12:50 +02:00
gcov.txt trivial: fix typo in CONFIG_DEBUG_FS in gcov doc 2009-09-21 15:14:56 +02:00
gpio.txt Revert "gpiolib: annotate gpio-intialization with __must_check" 2011-01-13 17:26:46 -08:00
highuid.txt
hw_random.txt
hwspinlock.txt hwspinlock/core: register a bank of hwspinlocks in a single API call 2011-09-21 19:45:34 +03:00
init.txt init/main.c: improve usability in case of init binary failure 2010-03-06 11:26:29 -08:00
initrd.txt
intel_txt.txt Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
io-mapping.txt
io_ordering.txt
iostats.txt Documentation/iostats.txt: bit-size reference etc. 2011-03-23 20:44:18 +01:00
irqflags-tracing.txt Fix common misspellings 2011-03-31 11:26:23 -03:00
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt docbook: warn on unused doc entries 2010-09-11 16:49:21 -07:00
kernel-docs.txt doc: fix broken references 2011-09-27 18:08:04 +02:00
kernel-parameters.txt mm: more intensive memory corruption debugging 2012-01-10 16:30:42 -08:00
kmemcheck.txt kmemcheck: update documentation 2009-07-01 22:36:22 +02:00
kmemleak.txt Documentation: update kmemleak supported archs 2011-06-15 21:52:50 -07:00
kobject.txt kobject: documentation: Update to refer to kset-example.c. 2010-03-19 07:12:20 -07:00
kprobes.txt tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
kref.txt kref: Fix typo in kref documentation 2011-03-07 13:20:05 -08:00
ldm.txt Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
local_ops.txt trivial: Miscellaneous documentation typo fixes 2009-06-12 18:01:47 +02:00
lockdep-design.txt lockdep: Update documentation for lock-class leak detection 2011-12-11 10:31:23 -08:00
lockstat.txt Documentation: Add statistics about nested locks 2011-05-28 17:03:29 +02:00
logo.gif Revert "linux.conf.au 2009: Tuz" 2009-04-27 12:00:27 -07:00
logo.txt Revert "linux.conf.au 2009: Tuz" 2009-04-27 12:00:27 -07:00
magic-number.txt doc: fix wrong arch/i386 references 2011-06-13 13:43:05 +02:00
mca.txt doc: fix wrong arch/i386 references 2011-06-13 13:43:05 +02:00
md.txt md: create externally visible flags for supporting hot-replace. 2011-12-23 10:17:51 +11:00
media-framework.txt doc: fix broken references 2011-09-27 18:08:04 +02:00
memory-barriers.txt doc: fix broken references 2011-09-27 18:08:04 +02:00
memory-hotplug.txt memory hotplug: Allow memory blocks to span multiple memory sections 2011-02-03 16:08:57 -08:00
memory.txt Documentation/memory.txt: remove some very outdated recommendations 2009-09-22 07:17:26 -07:00
mono.txt
mutex-design.txt mutex: Fix annotations to include it in kernel-locking docbook 2010-09-03 08:19:51 +02:00
nmi_watchdog.txt
nommu-mmap.txt nommu: fix malloc performance by adding uninitialized flag 2009-12-15 08:53:24 -08:00
numastat.txt mm: fix NUMA accounting in numastat.txt 2009-09-22 07:17:39 -07:00
oops-tracing.txt module,bug: Add TAINT_OOT_MODULE flag for modules not built in-tree 2011-11-07 07:54:42 +10:30
padata.txt Documentation/padata.txt: fix typos etc. 2010-08-11 08:59:18 -07:00
parport-lowlevel.txt
parport.txt
pi-futex.txt
pinctrl.txt drivers: create a pin control subsystem 2011-10-13 12:49:17 +02:00
pnp.txt doc: capitalization and other minor fixes in pnp doc 2010-02-05 12:22:44 +01:00
preempt-locking.txt
printk-formats.txt Documentation: update printk-formats.txt 2011-06-15 21:52:50 -07:00
prio_tree.txt
ramoops.txt Documentation: add Ramoops usage description 2011-08-13 18:34:03 -07:00
rbtree.txt Documentation: Update augmented rbtree documentation 2011-07-24 10:03:05 -07:00
rfkill.txt doc: fix broken references 2011-09-27 18:08:04 +02:00
robust-futex-ABI.txt futex: documentation: fix inconsistent description of futex list_op_pending 2009-06-18 13:03:56 -07:00
robust-futexes.txt
rt-mutex-design.txt variable name fix to Documentation/rt-mutex-design.txt 2010-06-05 17:39:09 +02:00
rt-mutex.txt
rtc.txt RTC: Fix up rtc.txt documentation to reflect changes to generic rtc layer 2011-03-09 11:25:10 -08:00
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
sparse.txt update email address 2010-07-19 10:56:54 +02:00
spinlocks.txt Documentation/spinlocks.txt: Remove reference to sti()/cli() 2011-07-11 12:45:04 -07:00
stable_api_nonsense.txt doc: stable_api_nonsense.txt: fix paragraph to make more sense. 2011-03-30 12:02:05 +02:00
stable_kernel_rules.txt Update email address for stable patch submission 2011-10-18 13:58:59 -07:00
svga.txt
sysfs-rules.txt Fix typos in comments 2010-03-16 11:47:56 +01:00
sysrq.txt documentation: update sysrq.txt magic sysrq keys 2010-10-26 17:32:41 -07:00
unaligned-memory-access.txt
unicode.txt
unshare.txt
vgaarbiter.txt misc latin1 to utf8 conversions 2012-01-02 13:04:55 +01:00
video-output.txt
volatile-considered-harmful.txt Documentation/volatile-considered-harmful.txt: correct cpu_relax() documentation 2010-03-24 16:31:20 -07:00
workqueue.txt workqueue: Document debugging tricks 2011-03-31 13:40:42 +02:00
xz.txt decompressors: add XZ decompressor module 2011-01-13 08:03:24 -08:00
zorro.txt