linux_old1/arch
Vegard Nossum 2dff440525 kmemcheck: add mm functions
With kmemcheck enabled, the slab allocator needs to do this:

1. Tell kmemcheck to allocate the shadow memory which stores the status of
   each byte in the allocation proper, e.g. whether it is initialized or
   uninitialized.
2. Tell kmemcheck which parts of memory that should be marked uninitialized.
   There are actually a few more states, such as "not yet allocated" and
   "recently freed".

If a slab cache is set up using the SLAB_NOTRACK flag, it will never return
memory that can take page faults because of kmemcheck.

If a slab cache is NOT set up using the SLAB_NOTRACK flag, callers can still
request memory with the __GFP_NOTRACK flag. This does not prevent the page
faults from occuring, however, but marks the object in question as being
initialized so that no warnings will ever be produced for this object.

In addition to (and in contrast to) __GFP_NOTRACK, the
__GFP_NOTRACK_FALSE_POSITIVE flag indicates that the allocation should
not be tracked _because_ it would produce a false positive. Their values
are identical, but need not be so in the future (for example, we could now
enable/disable false positives with a config option).

Parts of this patch were contributed by Pekka Enberg but merged for
atomicity.

Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

[rebased for mainline inclusion]
Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
2009-06-15 12:40:03 +02:00
..
alpha Push BKL into do_mount() 2009-06-11 21:36:08 -04:00
arm Merge branch 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block 2009-06-11 11:10:35 -07:00
avr32 avr32: drop unused CLEAN_FILES 2009-05-01 10:54:00 +02:00
blackfin flat: fix data sections alignment 2009-05-29 08:40:02 -07:00
cris Merge branch 'linus' into irq/numa 2009-06-01 21:06:21 +02:00
frv FRV: Implement new-style ptrace 2009-06-11 09:01:26 -07:00
h8300 flat: fix data sections alignment 2009-05-29 08:40:02 -07:00
ia64 Merge branch 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2009-06-11 10:03:30 -07:00
m32r flat: fix data sections alignment 2009-05-29 08:40:02 -07:00
m68k m68knommu: enumerate INIT_THREAD fields properly 2009-06-11 13:09:11 +10:00
m68knommu m68knommu: remove unecessary include of thread_info.h in entry.S 2009-06-11 14:33:16 +10:00
microblaze microblaze: Fix kind-of-intr checking against number of interrupts 2009-05-18 14:47:42 +02:00
mips Merge branch 'irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-10 15:25:41 -07:00
mn10300 MN10300: Add utrace/tracehooks support 2009-06-11 09:02:20 -07:00
parisc irq: change ->set_affinity() to return status 2009-04-28 12:21:16 +02:00
powerpc perfcounters: remove powerpc definitions of perf_counter_do_pending 2009-06-11 20:03:13 -07:00
s390 KVM: s390: Verify memory in kvm run 2009-06-10 11:48:57 +03:00
sh sh: Tie sparseirq in to Kconfig. 2009-06-11 10:33:09 +03:00
sparc Merge branch 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-10 16:16:48 -07:00
um block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
x86 kmemcheck: add mm functions 2009-06-15 12:40:03 +02:00
xtensa xtensa: Fix linker script to include .literal sections 2009-05-11 23:40:33 -07:00
.gitignore
Kconfig mutex: have non-spinning mutexes on s390 by default 2009-04-09 19:28:24 +02:00