linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Lameter <clameter@sgi.com>
To: "Martin J. Bligh" <mbligh@aracnet.com>
Cc: Akinobu Mita <amgta@yacht.ocn.ne.jp>,
	nickpiggin@yahoo.com.au, Jeff Garzik <jgarzik@pobox.com>,
	torvalds@osdl.org, hugh@veritas.com, benh@kernel.crashing.org,
	linux-mm@kvack.org, linux-ia64@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Anticipatory prefaulting in the page fault handler V2
Date: Mon, 13 Dec 2004 17:32:09 -0800 (PST)	[thread overview]
Message-ID: <Pine.LNX.4.58.0412131730410.817@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <8880000.1102976179@flay>

Changes from V1 to V2:
- Eliminate duplicate code and reorganize things
- Use SetReferenced instead of mark_accessed (Hugh Dickins)
- Fix the problem of the preallocation order increasing out of bounds
(leading to memory being overwritten with pointers to struct page)
- Return VM_FAULT_OOM if not able to allocate a single page
- Tested on i386 and ia64
- New performance test for low cpu counts (up to 8 so that this does not
seem to be too exotic)

The page fault handler for anonymous pages can generate significant overhead
apart from its essential function which is to clear and setup a new page
table entry for a never accessed memory location. This overhead increases
significantly in an SMP environment.

In the page table scalability patches, we addressed the issue by changing
the locking scheme so that multiple fault handlers are able to be processed
concurrently on multiple cpus. This patch attempts to aggregate multiple
page faults into a single one. It does that by noting
anonymous page faults generated in sequence by an application.

If a fault occurred for page x and is then followed by page x+1 then it may
be reasonable to expect another page fault at x+2 in the future. If page
table entries for x+1 and x+2 would be prepared in the fault handling for
page x+1 then the overhead of taking a fault for x+2 is avoided. However
page x+2 may never be used and thus we may have increased the rss
of an application unnecessarily. The swapper will take care of removing
that page if memory should get tight.

The following patch makes the anonymous fault handler anticipate future
faults. For each fault a prediction is made where the fault would occur
(assuming linear acccess by the application). If the prediction turns out to
be right (next fault is where expected) then a number of pages is
preallocated in order to avoid a series of future faults. The order of the
preallocation increases by the power of two for each success in sequence.

The first successful prediction leads to an additional page being allocated.
Second successful prediction leads to 2 additional pages being allocated.
Third to 4 pages and so on. The max order is 3 by default. In a large
continous allocation the number of faults is reduced by a factor of 8.

Standard Kernel on a 8 Cpu machine allocating 1 and 4GB with an increasing
number of threads (and thus increasing parallellism of page faults):

ia64 2.6.10-rc3-bk7

 Gb Rep Threads   User      System     Wall flt/cpu/s fault/wsec
  1   3    1    0.047s      2.163s   2.021s 88925.153  88859.030
  1   3    2    0.040s      3.215s   1.069s 60385.889 115677.685
  1   3    4    0.041s      3.509s   1.023s 55370.338 158971.609
  1   3    8    0.047s      4.130s   1.014s 47049.904 172405.990

Gb Rep Threads   User      System     Wall flt/cpu/s fault/wsec
  4   3    1    0.155s     11.277s  11.043s 68788.420  68747.223
  4   3    2    0.161s     16.459s   8.061s 47315.277  91322.962
  4   3    4    0.170s     14.708s   4.079s 52852.007 164043.773
  4   3    8    0.171s     23.257s   4.028s 33565.604 183348.574

ia64 Patched kernel:

 Gb Rep Threads   User      System     Wall flt/cpu/s fault/wsec
  1   3    1    0.008s      2.080s   2.008s 94121.792  94101.359
  1   3    2    0.015s      3.128s   1.064s 62523.771 119563.496
  1   3    4    0.008s      2.714s   1.012s 72185.910 175020.971
  1   3    8    0.016s      2.963s   0.087s 65965.457 223921.949

 Gb Rep Threads   User      System     Wall flt/cpu/s fault/wsec
  4   3    1    0.034s     10.861s  10.089s 72179.444  72181.353
  4   3    2    0.050s     14.303s   7.072s 54786.447 101738.901
  4   3    4    0.038s     13.478s   4.044s 58182.649 176913.840
  4   3    8    0.063s     13.584s   3.007s 57620.638 256109.927

i386 2.6.10-rc3-bk3 256M allocation 2x Pentium III 500 Mhz

 Gb Rep Threads   User      System     Wall flt/cpu/s fault/wsec
  0   3    1    0.020s      1.566s   1.058s123827.513 123842.098
  0   3    2    0.017s      2.439s   1.043s 79999.154 136931.671

i386 2.6.10-rc3-bk3 patches

 Gb Rep Threads   User      System     Wall flt/cpu/s fault/wsec
  0   3    1    0.020s      1.527s   1.039s126945.181 140930.664
  0   3    2    0.016s      2.417s   1.026s 80754.809 155162.903

Patch against 2.6.10-rc3-bk7:

Signed-off-by: Christoph Lameter <clameter@sgi.com>

Index: linux-2.6.9/include/linux/sched.h
===================================================================
--- linux-2.6.9.orig/include/linux/sched.h	2004-12-13 15:14:40.000000000 -0800
+++ linux-2.6.9/include/linux/sched.h	2004-12-13 15:15:55.000000000 -0800
@@ -537,6 +537,8 @@
 #endif

 	struct list_head tasks;
+	unsigned long anon_fault_next_addr;	/* Predicted sequential fault address */
+	int anon_fault_order;			/* Last order of allocation on fault */
 	/*
 	 * ptrace_list/ptrace_children forms the list of my children
 	 * that were stolen by a ptracer.
Index: linux-2.6.9/mm/memory.c
===================================================================
--- linux-2.6.9.orig/mm/memory.c	2004-12-13 15:14:40.000000000 -0800
+++ linux-2.6.9/mm/memory.c	2004-12-13 16:49:31.000000000 -0800
@@ -55,6 +55,7 @@

 #include <linux/swapops.h>
 #include <linux/elf.h>
+#include <linux/pagevec.h>

 #ifndef CONFIG_DISCONTIGMEM
 /* use the per-pgdat data instead for discontigmem - mbligh */
@@ -1432,52 +1433,102 @@
 		unsigned long addr)
 {
 	pte_t entry;
-	struct page * page = ZERO_PAGE(addr);
-
-	/* Read-only mapping of ZERO_PAGE. */
-	entry = pte_wrprotect(mk_pte(ZERO_PAGE(addr), vma->vm_page_prot));
+ 	unsigned long end_addr;
+
+	addr &= PAGE_MASK;
+
+ 	if (likely((vma->vm_flags & VM_RAND_READ) || current->anon_fault_next_addr != addr)) {
+		/* Single page */
+		current->anon_fault_order = 0;
+		end_addr = addr + PAGE_SIZE;
+	} else {
+		/* Sequence of faults detect. Perform preallocation */
+ 		int order = ++current->anon_fault_order;
+
+		if ((1 << order) < PAGEVEC_SIZE)
+			end_addr = addr + (PAGE_SIZE << order);
+		else {
+			end_addr = addr + PAGEVEC_SIZE * PAGE_SIZE;
+			current->anon_fault_order = 3;
+		}

-	/* ..except if it's a write access */
+		if (end_addr > vma->vm_end)
+			end_addr = vma->vm_end;
+		if ((addr & PMD_MASK) != (end_addr & PMD_MASK))
+			end_addr &= PMD_MASK;
+	}
 	if (write_access) {
-		/* Allocate our own private page. */
+
+		unsigned long a;
+		int i;
+		struct pagevec pv;
+
 		pte_unmap(page_table);
 		spin_unlock(&mm->page_table_lock);

+		pagevec_init(&pv, 0);
+
 		if (unlikely(anon_vma_prepare(vma)))
-			goto no_mem;
-		page = alloc_page_vma(GFP_HIGHUSER, vma, addr);
-		if (!page)
-			goto no_mem;
-		clear_user_highpage(page, addr);
+			return VM_FAULT_OOM;
+
+		/* Allocate the necessary pages */
+		for(a = addr; a < end_addr ; a += PAGE_SIZE) {
+			struct page *p = alloc_page_vma(GFP_HIGHUSER, vma, a);
+
+			if (likely(p)) {
+				clear_user_highpage(p, a);
+				pagevec_add(&pv, p);
+			} else {
+				if (a == addr)
+					return VM_FAULT_OOM;
+				break;
+			}
+		}

 		spin_lock(&mm->page_table_lock);
-		page_table = pte_offset_map(pmd, addr);

-		if (!pte_none(*page_table)) {
+		for(i = 0; addr < a; addr += PAGE_SIZE, i++) {
+			struct page *p = pv.pages[i];
+
+			page_table = pte_offset_map(pmd, addr);
+			if (unlikely(!pte_none(*page_table))) {
+				/* Someone else got there first */
+				pte_unmap(page_table);
+				page_cache_release(p);
+				continue;
+			}
+
+ 			entry = maybe_mkwrite(pte_mkdirty(mk_pte(p,
+ 						 vma->vm_page_prot)),
+ 					      vma);
+
+			mm->rss++;
+			lru_cache_add_active(p);
+			SetPageReferenced(p);
+			page_add_anon_rmap(p, vma, addr);
+
+			set_pte(page_table, entry);
 			pte_unmap(page_table);
-			page_cache_release(page);
-			spin_unlock(&mm->page_table_lock);
-			goto out;
+
+ 			/* No need to invalidate - it was non-present before */
+ 			update_mmu_cache(vma, addr, entry);
+		}
+ 	} else {
+ 		/* Read */
+		entry = pte_wrprotect(mk_pte(ZERO_PAGE(addr), vma->vm_page_prot));
+nextread:
+		set_pte(page_table, entry);
+		pte_unmap(page_table);
+		update_mmu_cache(vma, addr, entry);
+		addr += PAGE_SIZE;
+		if (unlikely(addr < end_addr)) {
+			pte_offset_map(pmd, addr);
+			goto nextread;
 		}
-		mm->rss++;
-		entry = maybe_mkwrite(pte_mkdirty(mk_pte(page,
-							 vma->vm_page_prot)),
-				      vma);
-		lru_cache_add_active(page);
-		mark_page_accessed(page);
-		page_add_anon_rmap(page, vma, addr);
 	}
-
-	set_pte(page_table, entry);
-	pte_unmap(page_table);
-
-	/* No need to invalidate - it was non-present before */
-	update_mmu_cache(vma, addr, entry);
+	current->anon_fault_next_addr = addr;
 	spin_unlock(&mm->page_table_lock);
-out:
 	return VM_FAULT_MINOR;
-no_mem:
-	return VM_FAULT_OOM;
 }

 /*
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>

  reply	other threads:[~2004-12-14  1:32 UTC|newest]

Thread overview: 340+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4189EC67.40601@yahoo.com.au>
     [not found] ` <Pine.LNX.4.58.0411040820250.8211@schroedinger.engr.sgi.com>
     [not found]   ` <418AD329.3000609@yahoo.com.au>
     [not found]     ` <Pine.LNX.4.58.0411041733270.11583@schroedinger.engr.sgi.com>
     [not found]       ` <418AE0F0.5050908@yahoo.com.au>
     [not found]         ` <418AE9BB.1000602@yahoo.com.au>
     [not found]           ` <1099622957.29587.101.camel@gaston>
     [not found]             ` <418C55A7.9030100@yahoo.com.au>
2004-11-06  9:28               ` removing mm->rss and mm->anon_rss from kernel? Christoph Lameter
2004-11-06  9:48                 ` Nick Piggin
2004-11-06  9:59                   ` William Lee Irwin III
2004-11-06 16:10                     ` Christoph Lameter
2004-11-06 10:19                 ` Nick Piggin
2004-11-06 10:31                   ` William Lee Irwin III
2004-11-06 10:41                     ` Nick Piggin
2004-11-06 10:53                       ` William Lee Irwin III
2004-11-06 11:07                         ` Nick Piggin
2004-11-06 12:06                           ` William Lee Irwin III
2004-11-06 12:08                             ` Nick Piggin
2004-11-06 12:23                               ` William Lee Irwin III
2004-11-07  0:54                                 ` Nick Piggin
2004-11-07  1:11                                   ` William Lee Irwin III
2004-11-07  1:58                                     ` Nick Piggin
2004-11-07  2:25                                       ` William Lee Irwin III
2004-11-06 12:59                 ` Andi Kleen
2004-11-06 15:17                 ` Martin J. Bligh
2004-11-06 16:19                   ` Christoph Lameter
2004-11-06 20:05                     ` William Lee Irwin III
2004-11-06 20:51                     ` Rik van Riel
2004-11-07 16:11                     ` Martin J. Bligh
2004-11-07 18:25                       ` Matthew Wilcox
2004-11-08 12:43                         ` Jesse Barnes
2004-11-08 15:26                         ` Andi Kleen
2004-11-08 16:07                           ` Christoph Lameter
2004-11-08 15:47                         ` Russ Anderson
2004-11-08 16:08                           ` Martin J. Bligh
2004-11-10  4:52                           ` Nick Piggin
2004-11-10 17:30                             ` Robin Holt
2004-11-10 18:50                             ` Ray Bryant
2004-11-10 18:50                             ` Ray Bryant
2004-11-12 23:45                             ` Ray Bryant
2004-11-13  0:05                               ` Steve Neuner
2004-11-08 16:04                       ` Christoph Lameter
2004-11-08 16:12                         ` Anton Blanchard
2004-11-08 16:14                         ` Martin J. Bligh
2004-11-08 16:25                           ` Christoph Lameter
2004-11-08 16:56                             ` Hugh Dickins
2004-11-08 17:01                               ` Christoph Lameter
2004-11-09  2:40                                 ` Nick Piggin
2004-11-09 12:10                                   ` Matthew Wilcox
2004-11-10  0:48                                     ` Nick Piggin
2004-11-08 16:30                         ` Erich Focht
2004-11-08 16:57                           ` Diego Calleja
2004-11-08 17:26                             ` Erich Focht
2004-11-10 11:57                         ` Magnus Damm
2004-11-08 16:35                       ` Rik van Riel
2004-11-06 16:06                 ` Hugh Dickins
2004-11-06 16:52                   ` Christoph Lameter
2004-11-18 19:34                   ` another approach to rss : sloppy rss Christoph Lameter
2004-11-19  1:09                     ` Nick Piggin
2004-11-19  1:14                       ` Christoph Lameter
2004-11-19  1:39                         ` Nick Piggin
2004-11-19  2:35                           ` Christoph Lameter
2004-11-19  6:00                             ` Nick Piggin
2004-11-19 19:21                               ` Christoph Lameter
2004-11-19 19:57                                 ` Robin Holt
2004-11-20  1:24                                   ` Nick Piggin
2004-11-20  1:46                                     ` Robin Holt
2004-11-19  1:40                     ` fast path for anonymous memory allocation Christoph Lameter
2004-11-19  2:19                       ` Nick Piggin
2004-11-19  2:38                         ` Christoph Lameter
2004-11-19  2:44                           ` Nick Piggin
2004-11-19  3:28                             ` Christoph Lameter
2004-11-19  7:07                               ` Benjamin Herrenschmidt
2004-11-19 19:42                                 ` page fault scalability patch V11 [0/7]: overview Christoph Lameter
2004-11-19 19:43                                   ` page fault scalability patch V11 [1/7]: sloppy rss Christoph Lameter
2004-11-19 20:50                                     ` Hugh Dickins
2004-11-20  1:29                                       ` Christoph Lameter
2004-11-22 15:00                                         ` Hugh Dickins
2004-11-22 21:50                                           ` deferred rss update instead of " Christoph Lameter
2004-11-22 22:11                                             ` Andrew Morton
2004-11-22 22:13                                               ` Christoph Lameter
2004-11-22 22:17                                                 ` Benjamin Herrenschmidt
2004-11-22 22:45                                                 ` Andrew Morton
2004-11-22 22:48                                                   ` Christoph Lameter
2004-11-22 23:09                                                     ` Nick Piggin
2004-11-22 23:13                                                       ` Christoph Lameter
2004-11-22 23:16                                                     ` Andrew Morton
2004-11-22 23:19                                                       ` Christoph Lameter
2004-11-22 22:22                                             ` Linus Torvalds
2004-11-22 22:27                                               ` Christoph Lameter
2004-11-22 22:40                                                 ` Linus Torvalds
2004-12-01 23:41                                                   ` page fault scalability patch V12 [0/7]: Overview and performance tests Christoph Lameter
2004-12-01 23:42                                                     ` page fault scalability patch V12 [1/7]: Reduce use of thepage_table_lock Christoph Lameter
2004-12-01 23:42                                                     ` page fault scalability patch V12 [2/7]: atomic pte operations for ia64 Christoph Lameter
2004-12-01 23:43                                                     ` page fault scalability patch V12 [3/7]: universal cmpxchg for i386 Christoph Lameter
2004-12-01 23:43                                                     ` page fault scalability patch V12 [4/7]: atomic pte operations " Christoph Lameter
2004-12-01 23:44                                                     ` page fault scalability patch V12 [5/7]: atomic pte operations for x86_64 Christoph Lameter
2004-12-01 23:45                                                     ` page fault scalability patch V12 [6/7]: atomic pte operations for s390 Christoph Lameter
2004-12-01 23:45                                                     ` page fault scalability patch V12 [7/7]: Split counter for rss Christoph Lameter
2005-01-04 19:35                                                       ` page fault scalability patch V14 [0/7]: Overview Christoph Lameter
2005-01-04 19:35                                                         ` page fault scalability patch V14 [1/7]: Avoid taking page_table_lock Christoph Lameter
2005-01-04 19:36                                                         ` page fault scalability patch V14 [2/7]: ia64 atomic pte operations Christoph Lameter
2005-01-04 19:37                                                         ` page fault scalability patch V14 [3/7]: i386 universal cmpxchg Christoph Lameter
2005-01-05 11:51                                                           ` Roman Zippel
2005-01-04 19:37                                                         ` page fault scalability patch V14 [4/7]: i386 atomic pte operations Christoph Lameter
2005-01-04 19:38                                                         ` page fault scalability patch V14 [5/7]: x86_64 " Christoph Lameter
2005-01-04 19:46                                                           ` Andi Kleen
2005-01-04 19:58                                                             ` Christoph Lameter
2005-01-04 20:21                                                               ` Andi Kleen
2005-01-04 20:32                                                                 ` Christoph Lameter
2005-01-11 17:39                                                             ` page table lock patch V15 [0/7]: overview Christoph Lameter
2005-01-11 17:40                                                               ` page table lock patch V15 [1/7]: Reduce use of page table lock Christoph Lameter
2005-01-11 17:41                                                               ` page table lock patch V15 [2/7]: ia64 atomic pte operations Christoph Lameter
2005-01-11 17:41                                                               ` page table lock patch V15 [3/7]: i386 universal cmpxchg Christoph Lameter
2005-01-11 17:42                                                               ` page table lock patch V15 [4/7]: i386 atomic pte operations Christoph Lameter
2005-01-11 17:43                                                               ` page table lock patch V15 [5/7]: x86_64 " Christoph Lameter
2005-01-11 17:43                                                               ` page table lock patch V15 [6/7]: s390 " Christoph Lameter
2005-01-11 17:44                                                               ` page table lock patch V15 [7/7]: Split RSS counter Christoph Lameter
2005-01-12  5:59                                                               ` page table lock patch V15 [0/7]: overview Nick Piggin
2005-01-12  9:42                                                                 ` Andrew Morton
2005-01-12 12:29                                                                   ` Marcelo Tosatti
2005-01-12 12:43                                                                   ` Hugh Dickins
2005-01-12 21:22                                                                     ` Hugh Dickins
2005-01-12 23:52                                                                       ` Christoph Lameter
2005-01-13  2:52                                                                         ` Hugh Dickins
2005-01-13 17:05                                                                           ` Christoph Lameter
2005-01-12 16:39                                                                   ` Christoph Lameter
2005-01-12 16:49                                                                     ` Christoph Hellwig
2005-01-12 17:37                                                                       ` Christoph Lameter
2005-01-12 17:41                                                                         ` Christoph Hellwig
2005-01-12 17:52                                                                           ` Christoph Lameter
2005-01-12 18:04                                                                             ` Christoph Hellwig
2005-01-12 18:43                                                                     ` Andrew Morton
2005-01-12 19:06                                                                       ` Christoph Lameter
2005-01-14  3:39                                                                         ` Roman Zippel
2005-01-14  4:14                                                                           ` Andi Kleen
2005-01-14 12:02                                                                             ` Roman Zippel
2005-01-14 16:37                                                                           ` Christoph Lameter
2005-01-12 23:16                                                                       ` Nick Piggin
2005-01-12 23:30                                                                         ` Andrew Morton
2005-01-12 23:50                                                                           ` Nick Piggin
2005-01-12 23:54                                                                             ` Christoph Lameter
2005-01-13  0:10                                                                               ` Nick Piggin
2005-01-13  0:16                                                                                 ` Christoph Lameter
2005-01-13  0:42                                                                                   ` Nick Piggin
2005-01-13 22:19                                                                                     ` Peter Chubb
2005-01-13  3:18                                                                                   ` Andi Kleen
2005-01-13 17:11                                                                                     ` Christoph Lameter
2005-01-13 17:25                                                                                       ` Linus Torvalds
2005-01-13 18:02                                                                                       ` Andi Kleen
2005-01-13 18:16                                                                                         ` Christoph Lameter
2005-01-13 20:17                                                                                           ` Andi Kleen
2005-01-14  1:09                                                                                         ` Christoph Lameter
2005-01-14  4:39                                                                                           ` Andi Kleen
2005-01-14  4:52                                                                                             ` page table lock patch V15 [0/7]: overview II Andi Kleen
2005-01-14  4:59                                                                                               ` Nick Piggin
2005-01-14 10:47                                                                                                 ` Andi Kleen
2005-01-14 10:57                                                                                                   ` Nick Piggin
2005-01-14 11:11                                                                                                     ` Andi Kleen
2005-01-14 16:57                                                                                                       ` Christoph Lameter
2005-01-14  4:54                                                                                             ` page table lock patch V15 [0/7]: overview Nick Piggin
2005-01-14 10:46                                                                                               ` Andi Kleen
2005-01-14 16:52                                                                                             ` Christoph Lameter
2005-01-14 17:01                                                                                               ` Andi Kleen
2005-01-14 17:08                                                                                                 ` Christoph Lameter
2005-01-14 17:11                                                                                                   ` Andi Kleen
2005-01-14 17:43                                                                                                 ` Linus Torvalds
2005-01-21 18:22                                                                                                   ` [PATCH] Soft introduction of atomic pte operations to avoid the clearing of ptes Christoph Lameter
2005-01-28 20:35                                                                                                 ` page fault scalability patch V16 [0/4]: redesign overview Christoph Lameter
2005-01-28 20:36                                                                                                   ` page fault scalability patch V16 [1/4]: avoid intermittent clearing of ptes Christoph Lameter
2005-01-28 20:36                                                                                                   ` page fault scalability patch V16 [2/4]: mm counter macros Christoph Lameter
2005-01-28 20:37                                                                                                   ` page fault scalability patch V16 [3/4]: Drop page_table_lock in handle_mm_fault Christoph Lameter
2005-02-01  4:08                                                                                                     ` Nick Piggin
2005-02-01 18:47                                                                                                       ` Christoph Lameter
2005-02-01 19:01                                                                                                       ` Christoph Lameter
2005-02-02  0:31                                                                                                         ` Nick Piggin
2005-02-02  1:20                                                                                                           ` Christoph Lameter
2005-02-02  1:41                                                                                                             ` Nick Piggin
2005-02-02  2:49                                                                                                               ` Christoph Lameter
2005-02-02  3:09                                                                                                                 ` Nick Piggin
2005-02-04  6:27                                                                                                                   ` Nick Piggin
2005-02-17  0:57                                                                                                           ` page fault scalability patchsets update: prezeroing, prefaulting and atomic operations Christoph Lameter
2005-02-24  6:04                                                                                                             ` A Proposal for an MMU abstraction layer Christoph Lameter
2005-02-01  4:16                                                                                                     ` page fault scalability patch V16 [3/4]: Drop page_table_lock in handle_mm_fault Nick Piggin
2005-02-01  8:20                                                                                                       ` Kernel 2.4.21 hangs up baswaraj kasture
2005-02-01  9:03                                                                                                         ` Christian Hildner
2005-02-07  6:14                                                                                                           ` Kernel 2.4.21 gives kernel panic at boot time baswaraj kasture
2005-02-01 18:44                                                                                                       ` page fault scalability patch V16 [3/4]: Drop page_table_lock in handle_mm_fault Christoph Lameter
2005-01-28 20:38                                                                                                   ` page fault scalability patch V16 [4/4]: Drop page_table_lock in do_anonymous_page Christoph Lameter
2005-01-13  3:09                                                                             ` page table lock patch V15 [0/7]: overview Hugh Dickins
2005-01-13  3:46                                                                               ` Nick Piggin
2005-01-13 17:14                                                                                 ` Christoph Lameter
2005-01-04 21:21                                                           ` page fault scalability patch V14 [5/7]: x86_64 atomic pte operations Brian Gerst
2005-01-04 21:26                                                             ` Christoph Lameter
2005-01-04 19:38                                                         ` page fault scalability patch V14 [6/7]: s390 atomic pte operationsw Christoph Lameter
2005-01-04 19:39                                                         ` page fault scalability patch V14 [7/7]: Split RSS counters Christoph Lameter
2004-12-02  0:10                                                     ` page fault scalability patch V12 [0/7]: Overview and performance tests Linus Torvalds
2004-12-02  0:55                                                       ` Andrew Morton
2004-12-02  1:46                                                         ` Christoph Lameter
2004-12-02  6:21                                                       ` Jeff Garzik
2004-12-02  6:34                                                         ` Andrew Morton
2004-12-02  6:48                                                           ` Jeff Garzik
2004-12-02  7:02                                                             ` Andrew Morton
2004-12-02  7:26                                                               ` Martin J. Bligh
2004-12-02  7:31                                                                 ` Jeff Garzik
2004-12-02 18:10                                                                   ` cliff white
2004-12-02 18:17                                                                     ` Gerrit Huizenga
2004-12-02 20:25                                                                     ` linux-os
2004-12-08 17:24                                                                     ` Anticipatory prefaulting in the page fault handler V1 Christoph Lameter
2004-12-08 17:33                                                                       ` Jesse Barnes
2004-12-08 17:56                                                                         ` Christoph Lameter
2004-12-08 18:33                                                                           ` Jesse Barnes
2004-12-08 21:26                                                                           ` David S. Miller
2004-12-08 21:42                                                                             ` Linus Torvalds
2004-12-08 17:55                                                                       ` Dave Hansen
2004-12-08 19:07                                                                       ` Martin J. Bligh
2004-12-08 22:50                                                                       ` Martin J. Bligh
2004-12-09 19:32                                                                         ` Christoph Lameter
2004-12-13 14:30                                                                           ` Akinobu Mita
2004-12-13 17:10                                                                             ` Christoph Lameter
2004-12-13 22:16                                                                               ` Martin J. Bligh
2004-12-14  1:32                                                                                 ` Christoph Lameter [this message]
2004-12-14 19:31                                                                                   ` Anticipatory prefaulting in the page fault handler V2 Adam Litke
2004-12-15 19:03                                                                                     ` Anticipatory prefaulting in the page fault handler V3 Christoph Lameter
2005-01-05  0:29                                                                                     ` Anticipatory prefaulting in the page fault handler V4 Christoph Lameter
2004-12-14 12:24                                                                               ` Anticipatory prefaulting in the page fault handler V1 Akinobu Mita
2004-12-14 15:25                                                                                 ` Akinobu Mita
2004-12-14 20:25                                                                                 ` Christoph Lameter
2004-12-09 10:57                                                                       ` Pavel Machek
2004-12-09 11:32                                                                         ` Nick Piggin
2004-12-09 17:05                                                                         ` Christoph Lameter
2004-12-14 15:28                                                                       ` Adam Litke
2004-12-02 18:43                                                                 ` page fault scalability patch V12 [0/7]: Overview and performance tests cliff white
2004-12-06 19:33                                                                   ` Marcelo Tosatti
2004-12-02 16:24                                                               ` Gerrit Huizenga
2004-12-02 17:34                                                               ` cliff white
2004-12-02 18:27                                                           ` Grant Grundler
2004-12-02 18:33                                                             ` Andrew Morton
2004-12-02 18:36                                                             ` Christoph Hellwig
2004-12-07 10:51                                                           ` Pavel Machek
2004-12-09  8:00                                                     ` Nick Piggin
2004-12-09 17:03                                                       ` Christoph Lameter
2004-12-10  4:30                                                         ` Nick Piggin
2004-12-09 18:37                                                     ` Hugh Dickins
2004-12-09 22:02                                                       ` page fault scalability patch V12: rss tasklist vs sloppy rss Christoph Lameter
2004-12-09 22:52                                                         ` Andrew Morton
2004-12-09 22:52                                                         ` William Lee Irwin III
2004-12-09 23:07                                                           ` Christoph Lameter
2004-12-09 23:29                                                             ` William Lee Irwin III
2004-12-09 23:49                                                               ` Christoph Lameter
2004-12-10  4:26                                                       ` page fault scalability patch V12 [0/7]: Overview and performance tests Nick Piggin
2004-12-10  4:54                                                         ` Nick Piggin
2004-12-10  5:06                                                           ` Benjamin Herrenschmidt
2004-12-10  5:19                                                             ` Nick Piggin
2004-12-10 12:30                                                               ` Hugh Dickins
2004-12-10 18:43                                                       ` Christoph Lameter
2004-12-10 21:43                                                         ` Hugh Dickins
2004-12-10 22:12                                                           ` Andrew Morton
2004-12-10 23:52                                                             ` Hugh Dickins
2004-12-11  0:18                                                               ` Andrew Morton
2004-12-11  0:44                                                                 ` Hugh Dickins
2004-12-11  0:57                                                                   ` Andrew Morton
2004-12-11  9:23                                                                     ` Hugh Dickins
2004-12-12  7:54                                                         ` Nick Piggin
2004-12-12  9:33                                                           ` Hugh Dickins
2004-12-12  9:48                                                             ` Nick Piggin
2004-12-12 21:24                                                             ` William Lee Irwin III
2004-12-17  3:31                                                               ` Christoph Lameter
2004-12-17  3:32                                                               ` page fault scalability patch V13 [0/8]: Overview Christoph Lameter
2004-12-17  3:33                                                                 ` page fault scalability patch V13 [1/8]: Reduce the use of the page_table_lock Christoph Lameter
2004-12-17  3:33                                                                 ` page fault scalability patch V13 [2/8]: ia64 atomic pte operations Christoph Lameter
2004-12-17  3:34                                                                 ` page fault scalability patch V13 [3/8]: universal cmpxchg for i386 Christoph Lameter
2004-12-17  3:35                                                                 ` page fault scalability patch V13 [4/8]: atomic pte operations " Christoph Lameter
2004-12-17  3:36                                                                 ` page fault scalability patch V13 [5/8]: atomic pte operations for AMD64 Christoph Lameter
2004-12-17  3:38                                                                 ` page fault scalability patch V13 [7/8]: Split RSS Christoph Lameter
2004-12-17  3:39                                                                 ` page fault scalability patch V13 [8/8]: Prefaulting using ptep_cmpxchg Christoph Lameter
2004-12-17  5:55                                                                 ` page fault scalability patch V13 [0/8]: Overview Christoph Lameter
2004-12-10 20:03                                                       ` pfault V12 : correction to tasklist rss Christoph Lameter
2004-12-10 21:24                                                         ` Hugh Dickins
2004-12-10 21:38                                                           ` Andrew Morton
2004-12-11  6:03                                                             ` William Lee Irwin III
2004-11-22 22:32                                               ` deferred rss update instead of sloppy rss Nick Piggin
2004-11-22 22:39                                                 ` Christoph Lameter
2004-11-22 23:14                                                   ` Nick Piggin
2004-11-19 19:44                                   ` page fault scalability patch V11 [2/7]: page fault handler optimizations Christoph Lameter
2004-11-19 19:44                                   ` page fault scalability patch V11 [3/7]: ia64 atomic pte operations Christoph Lameter
2004-11-19 19:45                                   ` page fault scalability patch V11 [4/7]: universal cmpxchg for i386 Christoph Lameter
2004-11-19 19:46                                   ` page fault scalability patch V11 [5/7]: i386 atomic pte operations Christoph Lameter
2004-11-19 19:46                                   ` page fault scalability patch V11 [6/7]: x86_64 " Christoph Lameter
2004-11-19 19:47                                   ` page fault scalability patch V11 [7/7]: s390 " Christoph Lameter
2004-11-19 19:59                                   ` page fault scalability patch V11 [0/7]: overview Linus Torvalds
2004-11-20  1:07                                     ` Nick Piggin
2004-11-20  1:29                                       ` Christoph Lameter
2004-11-20  1:45                                         ` Nick Piggin
2004-11-20  1:58                                         ` Linus Torvalds
2004-11-20  2:06                                           ` Linus Torvalds
2004-11-20  1:56                                       ` Linus Torvalds
2004-11-22 18:06                                         ` Bill Davidsen
2004-11-20  2:03                                     ` William Lee Irwin III
2004-11-20  2:25                                       ` Nick Piggin
2004-11-20  2:41                                         ` William Lee Irwin III
2004-11-20  2:46                                           ` Nick Piggin
2004-11-20  3:37                                       ` Nick Piggin
2004-11-20  3:55                                         ` William Lee Irwin III
2004-11-20  4:03                                           ` Nick Piggin
2004-11-20  4:06                                             ` Nick Piggin
2004-11-20  4:23                                             ` William Lee Irwin III
2004-11-20  4:29                                               ` Nick Piggin
2004-11-20  5:38                                                 ` William Lee Irwin III
2004-11-20  5:50                                                   ` Nick Piggin
2004-11-20  6:23                                                     ` William Lee Irwin III
2004-11-20  6:49                                                       ` Nick Piggin
2004-11-20  6:57                                                         ` Andrew Morton
2004-11-20  7:04                                                           ` Andrew Morton
2004-11-20  7:13                                                           ` Nick Piggin
2004-11-20  8:00                                                             ` William Lee Irwin III
2004-11-20 16:59                                                             ` Martin J. Bligh
2004-11-20 17:14                                                               ` Linus Torvalds
2004-11-20 19:08                                                                 ` William Lee Irwin III
2004-11-20 19:16                                                                   ` Linus Torvalds
2004-11-20 19:33                                                                     ` William Lee Irwin III
2004-11-22 17:44                                                                       ` Christoph Lameter
2004-11-22 22:43                                                                         ` William Lee Irwin III
2004-11-22 22:51                                                                           ` Christoph Lameter
2004-11-23  2:25                                                                             ` William Lee Irwin III
2004-11-20  7:15                                                         ` William Lee Irwin III
2004-11-20  7:29                                                           ` Nick Piggin
2004-11-20  7:45                                                             ` touch_nmi_watchdog (was: page fault scalability patch V11 [0/7]: overview) Nick Piggin
2004-11-20  7:57                                                             ` page fault scalability patch V11 [0/7]: overview Nick Piggin
2004-11-20  8:25                                                               ` William Lee Irwin III
2004-11-20  2:04                                   ` William Lee Irwin III
2004-11-20  2:18                                     ` Nick Piggin
2004-11-20  2:34                                       ` William Lee Irwin III
2004-11-20  2:40                                         ` Nick Piggin
2004-11-20  3:04                                           ` William Lee Irwin III
2004-11-20  3:14                                             ` Nick Piggin
2004-11-20  3:43                                               ` William Lee Irwin III
2004-11-20  3:58                                                 ` Nick Piggin
2004-11-20  4:01                                                   ` William Lee Irwin III
2004-11-20  4:34                                                   ` Robin Holt
2004-11-20  3:33                                             ` Robin Holt
2004-11-20  4:24                                               ` William Lee Irwin III
2004-11-20  2:06                                   ` Robin Holt
2004-11-19  7:05                         ` fast path for anonymous memory allocation Benjamin Herrenschmidt
2004-11-06 20:16                 ` removing mm->rss and mm->anon_rss from kernel? Peter Chubb
2004-11-06 20:54                   ` Rik van Riel
2004-11-06 21:31                     ` William Lee Irwin III

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.58.0412131730410.817@schroedinger.engr.sgi.com \
    --to=clameter@sgi.com \
    --cc=amgta@yacht.ocn.ne.jp \
    --cc=benh@kernel.crashing.org \
    --cc=hugh@veritas.com \
    --cc=jgarzik@pobox.com \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mbligh@aracnet.com \
    --cc=nickpiggin@yahoo.com.au \
    --cc=torvalds@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox