kernel_optimize_test/include/asm-mips
Michael S. Tsirkin f822566165 [PATCH] madvise MADV_DONTFORK/MADV_DOFORK
Currently, copy-on-write may change the physical address of a page even if the
user requested that the page is pinned in memory (either by mlock or by
get_user_pages).  This happens if the process forks meanwhile, and the parent
writes to that page.  As a result, the page is orphaned: in case of
get_user_pages, the application will never see any data hardware DMA's into
this page after the COW.  In case of mlock'd memory, the parent is not getting
the realtime/security benefits of mlock.

In particular, this affects the Infiniband modules which do DMA from and into
user pages all the time.

This patch adds madvise options to control whether memory range is inherited
across fork.  Useful e.g.  for when hardware is doing DMA from/into these
pages.  Could also be useful to an application wanting to speed up its forks
by cutting large areas out of consideration.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Acked-by: Hugh Dickins <hugh@veritas.com>
Cc: Michael Kerrisk <mtk-manpages@gmx.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-14 16:09:34 -08:00
..
arc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ddb5xxx [PATCH] mips: nuke trailing whitespace 2005-09-05 00:06:07 -07:00
dec Use physical addresses at the interface level, letting drivers remap 2005-10-29 19:31:35 +01:00
galileo-boards Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip32 [MIPS] IP32: Fix sparse warnings. 2005-11-17 16:23:48 +00:00
it8172 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jmr3927 Use new txx9 serial driver. 2005-10-29 19:30:52 +01:00
lasat [PATCH] mips: nuke trailing whitespace 2005-09-05 00:06:07 -07:00
mach-atlas Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach-au1x00 [MIPS] Au1200: Make KGDB compile 2006-02-07 13:30:23 +00:00
mach-cobalt [MIPS] CPU definitions for Cobalt. 2006-02-07 13:30:22 +00:00
mach-db1x00 [MIPS] Add missing arch defines for the Alchemy MTD driver. 2005-11-17 16:23:42 +00:00
mach-ddb5074 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach-dec Use physical addresses at the interface level, letting drivers remap 2005-10-29 19:31:35 +01:00
mach-ev64120 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach-ev96100 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach-generic [MIPS] RM200: Give RM200 it's own timex.h. 2006-02-14 19:13:23 +00:00
mach-ip22 MIPS: Introduce machinery for testing for MIPSxxR1/2. 2006-01-10 13:39:06 +00:00
mach-ip27 [PATCH] scheduler cache-hot-autodetect 2006-01-12 09:08:50 -08:00
mach-ip32 [MIPS] Nevada support for SGI O2. 2006-02-07 13:30:22 +00:00
mach-ja MIPS: Introduce machinery for testing for MIPSxxR1/2. 2006-01-10 13:39:06 +00:00
mach-jazz [PATCH] mips: nuke trailing whitespace 2005-09-05 00:06:07 -07:00
mach-jmr3927 [MIPS] JMR3927: Fix include wrapper symbol. 2005-11-17 16:23:54 +00:00
mach-lasat Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach-mips Fixup a few lose ends in explicit support for MIPS R1/R2. 2005-10-29 19:32:37 +01:00
mach-ocelot Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach-ocelot3 MIPS: Introduce machinery for testing for MIPSxxR1/2. 2006-01-10 13:39:06 +00:00
mach-pb1x00 [MIPS] Add missing arch defines for the Alchemy MTD driver. 2005-11-17 16:23:42 +00:00
mach-pnx8550 Philips PNX8550 support: MIPS32-like core with 2 Trimedias on it. 2005-10-29 19:31:54 +01:00
mach-qemu [MIPS] Qemu: Qemu is emulating a 1193.182kHz i8254 PIC. 2005-12-01 11:05:15 +00:00
mach-rm200 [MIPS] RM200: Give RM200 it's own timex.h. 2006-02-14 19:13:23 +00:00
mach-sibyte Support the MIPS32 / MIPS64 DSP ASE. 2005-10-29 19:31:17 +01:00
mach-sim Cleanup the mess in cpu_cache_init. 2005-10-29 19:32:32 +01:00
mach-yosemite MIPS: Introduce machinery for testing for MIPSxxR1/2. 2006-01-10 13:39:06 +00:00
mips-boards [MIPS] SEAD: More build fixes. 2005-11-17 16:23:57 +00:00
pci Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sgi [PATCH] sgiseeq: Configure PIO and DMA timing requests. 2005-10-18 18:03:47 -04:00
sibyte Support for BigSur board. 2005-10-29 19:32:47 +01:00
sn Delete the SABLE_RTL case. 2005-10-29 19:32:19 +01:00
tx4927 [MIPS] TX49x7: Fix reporting of the CPU name and PCI clock 2006-02-07 13:30:26 +00:00
tx4938 Support for Toshiba's RBHMA4500 eval board for the TX4938. 2005-10-29 19:31:57 +01:00
vr41xx Update Yoichi Yuasa's email address. 2006-01-10 13:39:07 +00:00
xtalk Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
8253pit.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
a.out.h [PATCH] mips: clean up 32/64-bit configuration 2005-09-05 00:06:06 -07:00
abi.h [MIPS] Make do_signal return void. 2006-02-08 17:52:25 +00:00
addrspace.h Add support for SB1A CPU. 2005-10-29 19:32:46 +01:00
asm.h Fix build with CONFIG_PRINTK disabled. 2005-10-29 19:31:18 +01:00
asmmacro-32.h kbuild: mips use generic asm-offsets.h support 2005-09-09 22:32:31 +02:00
asmmacro-64.h kbuild: mips use generic asm-offsets.h support 2005-09-09 22:32:31 +02:00
asmmacro.h [PATCH] mips: nuke trailing whitespace 2005-09-05 00:06:07 -07:00
atomic.h MIPS: Get rid of atomic_lock. 2006-01-10 13:39:06 +00:00
auxvec.h [PATCH] auxiliary vector cleanups 2005-09-07 16:57:21 -07:00
bcache.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bitops.h [MIPS] Cleanup fls implementation. 2006-02-07 13:30:24 +00:00
bootinfo.h Support for Toshiba's RBHMA4500 eval board for the TX4938. 2005-10-29 19:31:57 +01:00
branch.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
break.h Allocate break code 513 to KDB. 2005-10-29 19:30:34 +01:00
bug.h Fix weirdness in <asm/bug.h> 2005-10-29 19:32:38 +01:00
bugs.h Build fix for certain configurations. 2005-10-29 19:31:05 +01:00
byteorder.h [MIPS] MIPS R2 optimized endianess swapping. 2006-02-07 13:30:25 +00:00
cache.h [PATCH] Kill L1_CACHE_SHIFT_MAX 2006-01-08 20:13:39 -08:00
cachectl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cacheflush.h [MIPS] Remove wrong __user tags. 2006-02-07 13:30:25 +00:00
cacheops.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
checksum.h The type of sum in csum_tcpudp_nofold is "unsigned int", so when we assign 2005-10-29 19:32:25 +01:00
compat.h 2.6.14-rc1 updates for MIPS compat types. 2005-10-29 19:32:40 +01:00
compiler.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpu-features.h MIPS: Reorganize ISA constants strictly as bitmasks. 2006-01-10 13:39:07 +00:00
cpu-info.h Cleanup decoding of MIPSxx config registers. 2005-10-29 19:31:12 +01:00
cpu.h [MIPS] Fix CPU type bitmasks for MIPS III, IV and V. 2006-02-14 19:13:25 +00: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
ddb5074.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
debug.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
delay.h MIPS: Fix mdelay(1) for 64bit kernel with HZ == 1000 2006-01-10 13:39:04 +00:00
div64.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dma-mapping.h [PATCH] gfp_t: dma-mapping (mips) 2005-10-28 08:16:48 -07:00
dma.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ds1286.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dsp.h MIPS: DSP: Set all register masks to 0x3ff. 2006-01-10 13:39:04 +00:00
elf.h MIPS: Namespace pollution: dump_regs() -> elf_dump_regs() 2006-01-10 13:39:08 +00:00
emergency-restart.h [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
errno.h Delete duplicate definitions. 2005-11-07 18:05:40 +00:00
fcntl.h Complete the fcntl.h cleanup. 2005-10-29 19:32:40 +01:00
fixmap.h Delete duplicate copy of fixrange_init. 2005-10-29 19:30:28 +01:00
floppy.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fpregdef.h [PATCH] mips: nuke trailing whitespace 2005-09-05 00:06:07 -07:00
fpu_emulator.h Now that a struct is the only member left in struct 2005-10-29 19:31:14 +01:00
fpu.h __compute_return_epc() uses CFC1 instruction which might result in a 2005-10-29 19:31:13 +01:00
futex.h Futexes for MIPS, for the time being only the R10000_LLSC_WAR version. 2005-10-29 19:32:21 +01:00
gdb-stub.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gfx.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gt64120.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gt64240.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
hazards.h [MIPS] Fix C version of ssnop to use the right opcode. 2006-02-07 13:30:21 +00:00
highmem.h Define kmap_atomic_pfn() for MIPS. 2005-10-29 19:31:42 +01:00
hw_irq.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
i8259.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
inst.h Support the MIPS32 / MIPS64 DSP ASE. 2005-10-29 19:31:17 +01:00
interrupt.h [MIPS] TX49 MFC0 bug workaround 2006-02-07 13:30:26 +00:00
inventory.h Reformatting, remove debugging code. 2005-10-29 19:30:57 +01:00
io.h Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus 2006-02-08 09:58:27 -08: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
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_cpu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.h Sparseify MIPS. 2005-10-29 19:30:50 +01:00
isadep.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
it8712.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jazz.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jazzdma.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
linkage.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
local.h [PATCH] mips: clean up 32/64-bit configuration 2005-09-05 00:06:06 -07:00
m48t35.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
m48t37.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
marvell.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mc146818-time.h Use rtc_lock to protect RTC operations 2005-11-07 18:05:38 +00:00
mc146818rtc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mipsmtregs.h Virtual SMP support for the 34K. 2005-10-29 19:32:10 +01:00
mipsprom.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mipsregs.h MIPS: DSP: Put mask field into the right place. 2006-01-10 13:39:05 +00:00
mman.h [PATCH] madvise MADV_DONTFORK/MADV_DOFORK 2006-02-14 16:09:34 -08:00
mmu_context.h Fix 64bit SMP TLB handler and stack frame handling, optimize 32bit SMP 2005-10-29 19:31:00 +01:00
mmu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mmzone.h More configcheck fixes. 2005-10-29 19:32:40 +01:00
module.h Add spaces to MODULE_PROC_FAMILY values. 2005-11-07 18:05:34 +00:00
msc01_ic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
msgbuf.h [PATCH] mips: clean up 32/64-bit configuration 2005-09-05 00:06:06 -07:00
mutex.h [PATCH] mutex subsystem, add default include/asm-*/mutex.h files 2006-01-09 15:59:19 -08:00
namei.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nile4.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
paccess.h Gcc 4.0 fixes. 2005-10-29 19:30:53 +01:00
page.h Fixup a few lose ends in explicit support for MIPS R1/R2. 2005-10-29 19:32:37 +01: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.h BCM1480 HT support 2005-10-29 19:32:49 +01:00
percpu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pgalloc.h Update MIPS to use the 4-level pagetable code thereby getting rid of 2005-10-29 19:30:31 +01:00
pgtable-32.h On CONFIG_64BIT_PHYS_ADDR, pfn always fits in 'unsigned long', but 2005-10-29 19:32:09 +01:00
pgtable-64.h [PATCH] vm: remove unused/broken page_pte[_prot] macros 2005-10-30 17:37:22 -08:00
pgtable-bits.h Rename CONFIG_CPU_MIPS{32,64} to CONFIG_CPU_MIPS{32|64}_R1. 2005-10-29 19:31:37 +01:00
pgtable.h [PATCH] fix remaining missing includes 2005-11-07 07:53:41 -08:00
pmon.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
prctl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
prefetch.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
processor.h [PATCH] mips: task_stack_page() 2006-01-12 09:08:59 -08:00
ptrace.h Revise MIPS 64-bit ptrace interface 2005-10-29 19:32:29 +01:00
qemu.h [PATCH] mips: add support for Qemu system architecture 2005-09-05 00:06:04 -07:00
r4kcache.h [MIPS] Add protected_blast_icache_range, blast_icache_range, etc. 2006-02-14 19:13:24 +00:00
reboot.h [MIPS] Rename _machine_power_off to pm_power_off so the kernel builds again. 2006-02-07 13:30:22 +00:00
reg.h [PATCH] mips: fix build warnings 2005-09-05 00:06:08 -07:00
regdef.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
resource.h [PATCH] mips: clean up 32/64-bit configuration 2005-09-05 00:06:06 -07:00
rtc.h Remove mips_rtc_lock 2005-11-07 18:05:38 +00:00
rtlx.h Turn rtlx upside down. 2005-11-07 18:05:33 +00:00
scatterlist.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 [PATCH] semaphore: Remove __MUTEX_INITIALIZER() 2005-10-30 17:37:27 -08:00
sembuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
serial.h Use new txx9 serial driver. 2005-10-29 19:30:52 +01:00
setup.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sgialib.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sgiarcs.h [PATCH] mips: clean up 32/64-bit configuration 2005-09-05 00:06:06 -07:00
sgidefs.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 Support the MIPS32 / MIPS64 DSP ASE. 2005-10-29 19:31:17 +01:00
siginfo.h On MIPS the struct sigev preamble is only 8 bytes. 2005-10-29 19:31:15 +01:00
signal.h [MIPS] Delete duplicate definitions of break codes. 2005-11-17 16:23:38 +00:00
sim.h kbuild: mips use generic asm-offsets.h support 2005-09-09 22:32:31 +02:00
smp.h [PATCH] smp_processor_id() cleanup 2005-06-21 18:46:13 -07:00
sni.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
socket.h Add SOCK_DCCP definition for MIPS also. 2005-10-29 19:32:26 +01:00
sockios.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
spinlock_types.h [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
spinlock.h More configcheck fixes. 2005-10-29 19:32:40 +01:00
stackframe.h Fix get_saved_sp for 64bit address space. Simplify set_save_sp. 2005-10-29 19:31:39 +01:00
stat.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
statfs.h [PATCH] mips: nuke trailing whitespace 2005-09-05 00:06:07 -07:00
string.h [MIPS] Remove buggy inline version of memscan. 2006-02-07 13:30:25 +00:00
suspend.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysmips.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
system.h [PATCH] mips: task_pt_regs() 2006-01-12 09:08:58 -08: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 [MIPS] Add support for TIF_RESTORE_SIGMASK. 2006-02-08 17:52:24 +00:00
time.h Use rtc_lock to protect RTC operations 2005-11-07 18:05:38 +00:00
timex.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
titan_dep.h [PATCH] mips: nuke trailing whitespace 2005-09-05 00:06:07 -07:00
tlb.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tlbdebug.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
traps.h More AP / SP bits for the 34K, the Malta bits and things. Still wants 2005-10-29 19:31:53 +01:00
tx3912.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
types.h [PATCH] mips: clean up 32/64-bit configuration 2005-09-05 00:06:06 -07:00
uaccess.h [MIPS] More uaccess.h fixes with gcc >= 4.0.1. 2006-02-14 19:13:24 +00:00
ucontext.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
unistd.h [MIPS] Fold non-__mips64 case into CONFIG_32BIT case. 2006-02-14 19:13:23 +00:00
user.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vga.h Fix endianess bugs. 2005-10-29 19:31:41 +01:00
war.h Redo RM9000 workaround which along with other DSP ASE changes was 2005-10-29 19:31:23 +01:00
watch.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
wbflush.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xor.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xxs1500.h [PATCH] mips: nuke trailing whitespace 2005-09-05 00:06:07 -07:00