linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Lameter <clameter@sgi.com>
To: William Lee Irwin III <wli@holomorphy.com>
Cc: Hugh Dickins <hugh@veritas.com>,
	Nick Piggin <nickpiggin@yahoo.com.au>,
	Linus Torvalds <torvalds@osdl.org>, Andrew Morton <akpm@osdl.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	linux-mm@kvack.org, linux-ia64@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: page fault scalability patch V13 [3/8]: universal cmpxchg for i386
Date: Thu, 16 Dec 2004 19:34:36 -0800 (PST)	[thread overview]
Message-ID: <Pine.LNX.4.58.0412161933580.11341@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0412161931460.11341@schroedinger.engr.sgi.com>

Changelog
        * Make cmpxchg and cmpxchg8b generally available on the i386
	  platform.
        * Provide emulation of cmpxchg suitable for uniprocessor if
	  build and run on 386.
        * Provide emulation of cmpxchg8b suitable for uniprocessor
	  systems if build and run on 386 or 486.
	* Provide an inline function to atomically get a 64 bit value
	  via cmpxchg8b in an SMP system (courtesy of Nick Piggin)
	  (important for i386 PAE mode and other places where atomic
	  64 bit operations are useful)

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

Index: linux-2.6.9/arch/i386/Kconfig
===================================================================
--- linux-2.6.9.orig/arch/i386/Kconfig	2004-12-10 09:58:03.000000000 -0800
+++ linux-2.6.9/arch/i386/Kconfig	2004-12-10 09:59:27.000000000 -0800
@@ -351,6 +351,11 @@
 	depends on !M386
 	default y

+config X86_CMPXCHG8B
+	bool
+	depends on !M386 && !M486
+	default y
+
 config X86_XADD
 	bool
 	depends on !M386
Index: linux-2.6.9/arch/i386/kernel/cpu/intel.c
===================================================================
--- linux-2.6.9.orig/arch/i386/kernel/cpu/intel.c	2004-12-06 17:23:49.000000000 -0800
+++ linux-2.6.9/arch/i386/kernel/cpu/intel.c	2004-12-10 09:59:27.000000000 -0800
@@ -6,6 +6,7 @@
 #include <linux/bitops.h>
 #include <linux/smp.h>
 #include <linux/thread_info.h>
+#include <linux/module.h>

 #include <asm/processor.h>
 #include <asm/msr.h>
@@ -287,5 +288,103 @@
 	return 0;
 }

+#ifndef CONFIG_X86_CMPXCHG
+unsigned long cmpxchg_386_u8(volatile void *ptr, u8 old, u8 new)
+{
+	u8 prev;
+	unsigned long flags;
+	/*
+	 * Check if the kernel was compiled for an old cpu but the
+	 * currently running cpu can do cmpxchg after all
+	 * All CPUs except 386 support CMPXCHG
+	 */
+	if (cpu_data->x86 > 3)
+		return __cmpxchg(ptr, old, new, sizeof(u8));
+
+	/* Poor man's cmpxchg for 386. Unsuitable for SMP */
+	local_irq_save(flags);
+	prev = *(u8 *)ptr;
+	if (prev == old)
+		*(u8 *)ptr = new;
+	local_irq_restore(flags);
+	return prev;
+}
+
+EXPORT_SYMBOL(cmpxchg_386_u8);
+
+unsigned long cmpxchg_386_u16(volatile void *ptr, u16 old, u16 new)
+{
+	u16 prev;
+	unsigned long flags;
+	/*
+	 * Check if the kernel was compiled for an old cpu but the
+	 * currently running cpu can do cmpxchg after all
+	 * All CPUs except 386 support CMPXCHG
+	 */
+	if (cpu_data->x86 > 3)
+		return __cmpxchg(ptr, old, new, sizeof(u16));
+
+	/* Poor man's cmpxchg for 386. Unsuitable for SMP */
+	local_irq_save(flags);
+	prev = *(u16 *)ptr;
+	if (prev == old)
+		*(u16 *)ptr = new;
+	local_irq_restore(flags);
+	return prev;
+}
+
+EXPORT_SYMBOL(cmpxchg_386_u16);
+
+unsigned long cmpxchg_386_u32(volatile void *ptr, u32 old, u32 new)
+{
+	u32 prev;
+	unsigned long flags;
+	/*
+	 * Check if the kernel was compiled for an old cpu but the
+	 * currently running cpu can do cmpxchg after all
+	 * All CPUs except 386 support CMPXCHG
+	 */
+	if (cpu_data->x86 > 3)
+		return __cmpxchg(ptr, old, new, sizeof(u32));
+
+	/* Poor man's cmpxchg for 386. Unsuitable for SMP */
+	local_irq_save(flags);
+	prev = *(u32 *)ptr;
+	if (prev == old)
+		*(u32 *)ptr = new;
+	local_irq_restore(flags);
+	return prev;
+}
+
+EXPORT_SYMBOL(cmpxchg_386_u32);
+#endif
+
+#ifndef CONFIG_X86_CMPXCHG8B
+unsigned long long cmpxchg8b_486(volatile unsigned long long *ptr,
+	       unsigned long long old, unsigned long long newv)
+{
+	unsigned long long prev;
+	unsigned long flags;
+
+	/*
+	 * Check if the kernel was compiled for an old cpu but
+	 * we are running really on a cpu capable of cmpxchg8b
+	 */
+
+	if (cpu_has(cpu_data, X86_FEATURE_CX8))
+		return __cmpxchg8b(ptr, old, newv);
+
+	/* Poor mans cmpxchg8b for 386 and 486. Not suitable for SMP */
+	local_irq_save(flags);
+	prev = *ptr;
+	if (prev == old)
+		*ptr = newv;
+	local_irq_restore(flags);
+	return prev;
+}
+
+EXPORT_SYMBOL(cmpxchg8b_486);
+#endif
+
 // arch_initcall(intel_cpu_init);

Index: linux-2.6.9/include/asm-i386/system.h
===================================================================
--- linux-2.6.9.orig/include/asm-i386/system.h	2004-12-06 17:23:55.000000000 -0800
+++ linux-2.6.9/include/asm-i386/system.h	2004-12-10 10:00:49.000000000 -0800
@@ -149,6 +149,9 @@
 #define __xg(x) ((struct __xchg_dummy *)(x))


+#define ll_low(x)	*(((unsigned int*)&(x))+0)
+#define ll_high(x)	*(((unsigned int*)&(x))+1)
+
 /*
  * The semantics of XCHGCMP8B are a bit strange, this is why
  * there is a loop and the loading of %%eax and %%edx has to
@@ -184,8 +187,6 @@
 {
 	__set_64bit(ptr,(unsigned int)(value), (unsigned int)((value)>>32ULL));
 }
-#define ll_low(x)	*(((unsigned int*)&(x))+0)
-#define ll_high(x)	*(((unsigned int*)&(x))+1)

 static inline void __set_64bit_var (unsigned long long *ptr,
 			 unsigned long long value)
@@ -203,6 +204,26 @@
  __set_64bit(ptr, (unsigned int)(value), (unsigned int)((value)>>32ULL) ) : \
  __set_64bit(ptr, ll_low(value), ll_high(value)) )

+static inline unsigned long long __get_64bit(unsigned long long * ptr)
+{
+	unsigned long long ret;
+	__asm__ __volatile__ (
+		"\n1:\t"
+		"movl (%1), %%eax\n\t"
+		"movl 4(%1), %%edx\n\t"
+		"movl %%eax, %%ebx\n\t"
+		"movl %%edx, %%ecx\n\t"
+		LOCK_PREFIX "cmpxchg8b (%1)\n\t"
+		"jnz 1b"
+		:	"=A"(ret)
+		:	"D"(ptr)
+		:	"ebx", "ecx", "memory");
+	return ret;
+}
+
+#define get_64bit(ptr) __get_64bit(ptr)
+
+
 /*
  * Note: no "lock" prefix even on SMP: xchg always implies lock anyway
  * Note 2: xchg has side effect, so that attribute volatile is necessary,
@@ -240,7 +261,41 @@
  */

 #ifdef CONFIG_X86_CMPXCHG
+
 #define __HAVE_ARCH_CMPXCHG 1
+#define cmpxchg(ptr,o,n)\
+	((__typeof__(*(ptr)))__cmpxchg((ptr), (unsigned long)(o), \
+					(unsigned long)(n), sizeof(*(ptr))))
+
+#else
+
+/*
+ * Building a kernel capable running on 80386. It may be necessary to
+ * simulate the cmpxchg on the 80386 CPU. For that purpose we define
+ * a function for each of the sizes we support.
+ */
+
+extern unsigned long cmpxchg_386_u8(volatile void *, u8, u8);
+extern unsigned long cmpxchg_386_u16(volatile void *, u16, u16);
+extern unsigned long cmpxchg_386_u32(volatile void *, u32, u32);
+
+static inline unsigned long cmpxchg_386(volatile void *ptr, unsigned long old,
+				      unsigned long new, int size)
+{
+	switch (size) {
+	case 1:
+		return cmpxchg_386_u8(ptr, old, new);
+	case 2:
+		return cmpxchg_386_u16(ptr, old, new);
+	case 4:
+		return cmpxchg_386_u32(ptr, old, new);
+	}
+	return old;
+}
+
+#define cmpxchg(ptr,o,n)\
+	((__typeof__(*(ptr)))cmpxchg_386((ptr), (unsigned long)(o), \
+					(unsigned long)(n), sizeof(*(ptr))))
 #endif

 static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
@@ -270,12 +325,34 @@
 	return old;
 }

-#define cmpxchg(ptr,o,n)\
-	((__typeof__(*(ptr)))__cmpxchg((ptr),(unsigned long)(o),\
-					(unsigned long)(n),sizeof(*(ptr))))
-
+static inline unsigned long long __cmpxchg8b(volatile unsigned long long *ptr,
+		unsigned long long old, unsigned long long newv)
+{
+	unsigned long long prev;
+	__asm__ __volatile__(
+	LOCK_PREFIX "cmpxchg8b (%4)"
+		: "=A" (prev)
+		: "0" (old), "c" ((unsigned long)(newv >> 32)),
+		  "b" ((unsigned long)(newv & 0xffffffffULL)), "D" (ptr)
+		: "memory");
+	return prev;
+}
+
+#ifdef CONFIG_X86_CMPXCHG8B
+#define cmpxchg8b __cmpxchg8b
+#else
+/*
+ * Building a kernel capable of running on 80486 and 80386. Both
+ * do not support cmpxchg8b. Call a function that emulates the
+ * instruction if necessary.
+ */
+extern unsigned long long cmpxchg8b_486(volatile unsigned long long *,
+		unsigned long long, unsigned long long);
+#define cmpxchg8b cmpxchg8b_486
+#endif
+
 #ifdef __KERNEL__
-struct alt_instr {
+struct alt_instr {
 	__u8 *instr; 		/* original instruction */
 	__u8 *replacement;
 	__u8  cpuid;		/* cpuid bit set for replacement */

--
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>

  parent reply	other threads:[~2004-12-17  3:34 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                                                                                 ` Anticipatory prefaulting in the page fault handler V2 Christoph Lameter
2004-12-14 19:31                                                                                   ` 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                                                                 ` Christoph Lameter [this message]
2004-12-17  3:35                                                                 ` page fault scalability patch V13 [4/8]: atomic pte operations for i386 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.0412161933580.11341@schroedinger.engr.sgi.com \
    --to=clameter@sgi.com \
    --cc=akpm@osdl.org \
    --cc=benh@kernel.crashing.org \
    --cc=hugh@veritas.com \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=nickpiggin@yahoo.com.au \
    --cc=torvalds@osdl.org \
    --cc=wli@holomorphy.com \
    /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