linux/mm
Nick Piggin d992895ba2 [PATCH] Lazy page table copies in fork()
Defer copying of ptes until fault time when it is possible to reconstruct
the pte from backing store. Idea from Andi Kleen and Nick Piggin.

Thanks to input from Rik van Riel and Linus and to Hugh for correcting
my blundering.

Ray Fucillo <fucillo@intersystems.com> reports:

  "I applied this latest patch to a 2.6.12 kernel and found that it does
   resolve the problem.  Prior to the patch on this machine, I was
   seeing about 23ms spent in fork for ever 100MB of shared memory
   segment.

   After applying the patch, fork is taking about 1ms regardless of the
   shared memory size."

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-29 17:25:04 -07:00
..
Kconfig [PATCH] sparsemem memory model 2005-06-23 09:45:04 -07:00
Makefile [PATCH] xip: fs/mm: execute in place 2005-06-24 00:06:41 -07:00
bootmem.c [PATCH] Use ALIGN to remove duplicate code 2005-06-25 16:25:02 -07:00
fadvise.c [PATCH] xip: madvice/fadvice: execute in place 2005-06-24 00:06:42 -07:00
filemap.c [PATCH] fix for generic_file_write iov problem 2005-06-25 16:24:39 -07:00
filemap.h [PATCH] xip: reduce code duplication 2005-06-24 00:06:41 -07:00
filemap_xip.c [PATCH] execute-in-place fixes 2005-07-15 09:54:50 -07:00
fremap.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
highmem.c [PATCH] count bounce buffer pages in vmstat 2005-05-01 08:58:37 -07:00
hugetlb.c [PATCH] Fix hugepage crash on failing mmap() 2005-08-05 12:22:37 -07:00
internal.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
madvise.c [PATCH] madvise() does not always return -EBADF on non-file mapped area 2005-07-27 16:25:54 -07:00
memory.c [PATCH] Lazy page table copies in fork() 2005-08-29 17:25:04 -07:00
mempolicy.c [PATCH] sys_set_mempolicy() doesnt check if mode < 0 2005-08-01 21:38:00 -07:00
mempool.c [PATCH] propagate __nocast annotations 2005-07-07 18:23:46 -07:00
mincore.c [PATCH] freepgt: sys_mincore ignore FIRST_USER_PGD_NR 2005-04-19 13:29:20 -07:00
mlock.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mmap.c [PATCH] __vm_enough_memory() signedness fix 2005-08-04 21:43:14 -07:00
mprotect.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mremap.c [PATCH] fix VmSize and VmData after mremap 2005-08-04 13:11:15 -07:00
msync.c [PATCH] msync: check pte dirty earlier 2005-06-21 18:46:21 -07:00
nommu.c [PATCH] __vm_enough_memory() signedness fix 2005-08-04 21:43:14 -07:00
oom_kill.c [PATCH] mm: quieten OOM killer noise 2005-07-07 18:23:36 -07:00
page-writeback.c [PATCH] rename wakeup_bdflush to wakeup_pdflush 2005-06-28 21:20:31 -07:00
page_alloc.c [PATCH] Fix NUMA node sizing in nr_free_zone_pages 2005-07-30 10:14:46 -07:00
page_io.c [PATCH] swsusp: kill config_pm_disk 2005-06-25 16:24:32 -07:00
pdflush.c [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
prio_tree.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
readahead.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rmap.c [PATCH] xip: fs/mm: execute in place 2005-06-24 00:06:41 -07:00
shmem.c Fix nasty ncpfs symlink handling bug. 2005-08-19 18:02:56 -07:00
slab.c [PATCH] propagate __nocast annotations 2005-07-07 18:23:46 -07:00
sparse.c [PATCH] sparsemem hotplug base 2005-06-23 09:45:05 -07:00
swap.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
swap_state.c [PATCH] mm: use __GFP_NOMEMALLOC 2005-05-01 08:58:37 -07:00
swapfile.c [PATCH] can_share_swap_page: use page_mapcount 2005-06-21 18:46:21 -07:00
thrash.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tiny-shmem.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
truncate.c [PATCH] DocBook: fix some descriptions 2005-05-01 08:59:26 -07:00
vmalloc.c [PATCH] x86_64: Fixed guard page handling again in iounmap 2005-05-20 15:48:20 -07:00
vmscan.c [PATCH] rename wakeup_bdflush to wakeup_pdflush 2005-06-28 21:20:31 -07:00