All of lore.kernel.org
 help / color / mirror / Atom feed
From: clameter@sgi.com
To: linux-kernel@vger.kernel.org
Cc: Mel Gorman <mel@skynet.ie>,
	William Lee Irwin III <wli@holomorphy.com>,
	David Chinner <dgc@sgi.com>, Jens Axboe <jens.axboe@oracle.com>,
	Badari Pulavarty <pbadari@gmail.com>,
	Maxim Levitsky <maximlevitsky@gmail.com>
Subject: [01/17] Remove open coded implementation of memclear_highpage flush
Date: Tue, 24 Apr 2007 15:21:06 -0700	[thread overview]
Message-ID: <20070424222304.659670936@sgi.com> (raw)
In-Reply-To: 20070424222105.883597089@sgi.com

[-- Attachment #1: consolidate_partial_clear --]
[-- Type: text/plain, Size: 10931 bytes --]

There are a series of open coded reimplementation of memclear_highpage_flush
all over the page cache code. Call memclear_highpage_flush in those locations.
Consolidates code and eases maintenance.

[There seems to be a better patch in mm. This patch here is just to make things
work against 2.6.21 until the rest of the patch is diffed against mm]

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

---
 fs/buffer.c      |   77 ++++++++++++-------------------------------------------
 fs/direct-io.c   |    8 +----
 fs/libfs.c       |   10 +++----
 fs/mpage.c       |   12 ++------
 mm/filemap_xip.c |    6 ----
 5 files changed, 29 insertions(+), 84 deletions(-)

Index: linux-2.6.21-rc7/fs/buffer.c
===================================================================
--- linux-2.6.21-rc7.orig/fs/buffer.c	2007-04-23 14:19:04.000000000 -0700
+++ linux-2.6.21-rc7/fs/buffer.c	2007-04-23 14:44:09.000000000 -0700
@@ -1803,17 +1803,12 @@ static int __block_prepare_write(struct 
 					continue;
 				}
 				if (block_end > to || block_start < from) {
-					void *kaddr;
-
-					kaddr = kmap_atomic(page, KM_USER0);
 					if (block_end > to)
-						memset(kaddr+to, 0,
-							block_end-to);
+						memclear_highpage_flush(page,
+							to, block_end - to);
 					if (block_start < from)
-						memset(kaddr+block_start,
-							0, from-block_start);
-					flush_dcache_page(page);
-					kunmap_atomic(kaddr, KM_USER0);
+						memclear_highpage_flush(page,
+						block_start, from - block_start);
 				}
 				continue;
 			}
@@ -1861,13 +1856,8 @@ static int __block_prepare_write(struct 
 		if (block_start >= to)
 			break;
 		if (buffer_new(bh)) {
-			void *kaddr;
-
 			clear_buffer_new(bh);
-			kaddr = kmap_atomic(page, KM_USER0);
-			memset(kaddr+block_start, 0, bh->b_size);
-			flush_dcache_page(page);
-			kunmap_atomic(kaddr, KM_USER0);
+			memclear_highpage_flush(page, block_start, bh->b_size);
 			set_buffer_uptodate(bh);
 			mark_buffer_dirty(bh);
 		}
@@ -1955,10 +1945,7 @@ int block_read_full_page(struct page *pa
 					SetPageError(page);
 			}
 			if (!buffer_mapped(bh)) {
-				void *kaddr = kmap_atomic(page, KM_USER0);
-				memset(kaddr + i * blocksize, 0, blocksize);
-				flush_dcache_page(page);
-				kunmap_atomic(kaddr, KM_USER0);
+				memclear_highpage_flush(page, i * blocksize, blocksize);
 				if (!err)
 					set_buffer_uptodate(bh);
 				continue;
@@ -2101,7 +2088,6 @@ int cont_prepare_write(struct page *page
 	long status;
 	unsigned zerofrom;
 	unsigned blocksize = 1 << inode->i_blkbits;
-	void *kaddr;
 
 	while(page->index > (pgpos = *bytes>>PAGE_CACHE_SHIFT)) {
 		status = -ENOMEM;
@@ -2123,10 +2109,8 @@ int cont_prepare_write(struct page *page
 						PAGE_CACHE_SIZE, get_block);
 		if (status)
 			goto out_unmap;
-		kaddr = kmap_atomic(new_page, KM_USER0);
-		memset(kaddr+zerofrom, 0, PAGE_CACHE_SIZE-zerofrom);
-		flush_dcache_page(new_page);
-		kunmap_atomic(kaddr, KM_USER0);
+		memclear_highpage_flush(new_page, zerofrom,
+					PAGE_CACHE_SIZE - zerofrom);
 		generic_commit_write(NULL, new_page, zerofrom, PAGE_CACHE_SIZE);
 		unlock_page(new_page);
 		page_cache_release(new_page);
@@ -2153,10 +2137,7 @@ int cont_prepare_write(struct page *page
 	if (status)
 		goto out1;
 	if (zerofrom < offset) {
-		kaddr = kmap_atomic(page, KM_USER0);
-		memset(kaddr+zerofrom, 0, offset-zerofrom);
-		flush_dcache_page(page);
-		kunmap_atomic(kaddr, KM_USER0);
+		memclear_highpage_flush(page, zerofrom, offset - zerofrom);
 		__block_commit_write(inode, page, zerofrom, offset);
 	}
 	return 0;
@@ -2243,7 +2224,6 @@ int nobh_prepare_write(struct page *page
 	unsigned block_in_page;
 	unsigned block_start;
 	sector_t block_in_file;
-	char *kaddr;
 	int nr_reads = 0;
 	int i;
 	int ret = 0;
@@ -2283,13 +2263,12 @@ int nobh_prepare_write(struct page *page
 		if (PageUptodate(page))
 			continue;
 		if (buffer_new(&map_bh) || !buffer_mapped(&map_bh)) {
-			kaddr = kmap_atomic(page, KM_USER0);
 			if (block_start < from)
-				memset(kaddr+block_start, 0, from-block_start);
+				memclear_highpage_flush(page,
+					block_start, from - block_start);
 			if (block_end > to)
-				memset(kaddr + to, 0, block_end - to);
-			flush_dcache_page(page);
-			kunmap_atomic(kaddr, KM_USER0);
+				memclear_highpage_flush(page,
+					to, block_end - to);
 			continue;
 		}
 		if (buffer_uptodate(&map_bh))
@@ -2355,10 +2334,7 @@ failed:
 	 * Error recovery is pretty slack.  Clear the page and mark it dirty
 	 * so we'll later zero out any blocks which _were_ allocated.
 	 */
-	kaddr = kmap_atomic(page, KM_USER0);
-	memset(kaddr, 0, PAGE_CACHE_SIZE);
-	flush_dcache_page(page);
-	kunmap_atomic(kaddr, KM_USER0);
+	memclear_highpage_flush(page, 0, PAGE_SIZE);
 	SetPageUptodate(page);
 	set_page_dirty(page);
 	return ret;
@@ -2397,7 +2373,6 @@ int nobh_writepage(struct page *page, ge
 	loff_t i_size = i_size_read(inode);
 	const pgoff_t end_index = i_size >> PAGE_CACHE_SHIFT;
 	unsigned offset;
-	void *kaddr;
 	int ret;
 
 	/* Is the page fully inside i_size? */
@@ -2428,10 +2403,7 @@ int nobh_writepage(struct page *page, ge
 	 * the  page size, the remaining memory is zeroed when mapped, and
 	 * writes to that region are not written out to the file."
 	 */
-	kaddr = kmap_atomic(page, KM_USER0);
-	memset(kaddr + offset, 0, PAGE_CACHE_SIZE - offset);
-	flush_dcache_page(page);
-	kunmap_atomic(kaddr, KM_USER0);
+	memclear_highpage_flush(page, offset, PAGE_CACHE_SIZE - offset);
 out:
 	ret = mpage_writepage(page, get_block, wbc);
 	if (ret == -EAGAIN)
@@ -2452,7 +2424,6 @@ int nobh_truncate_page(struct address_sp
 	unsigned to;
 	struct page *page;
 	const struct address_space_operations *a_ops = mapping->a_ops;
-	char *kaddr;
 	int ret = 0;
 
 	if ((offset & (blocksize - 1)) == 0)
@@ -2466,10 +2437,7 @@ int nobh_truncate_page(struct address_sp
 	to = (offset + blocksize) & ~(blocksize - 1);
 	ret = a_ops->prepare_write(NULL, page, offset, to);
 	if (ret == 0) {
-		kaddr = kmap_atomic(page, KM_USER0);
-		memset(kaddr + offset, 0, PAGE_CACHE_SIZE - offset);
-		flush_dcache_page(page);
-		kunmap_atomic(kaddr, KM_USER0);
+		memclear_highpage_flush(page, offset, PAGE_CACHE_SIZE - offset);
 		/*
 		 * It would be more correct to call aops->commit_write()
 		 * here, but this is more efficient.
@@ -2495,7 +2463,6 @@ int block_truncate_page(struct address_s
 	struct inode *inode = mapping->host;
 	struct page *page;
 	struct buffer_head *bh;
-	void *kaddr;
 	int err;
 
 	blocksize = 1 << inode->i_blkbits;
@@ -2549,11 +2516,7 @@ int block_truncate_page(struct address_s
 			goto unlock;
 	}
 
-	kaddr = kmap_atomic(page, KM_USER0);
-	memset(kaddr + offset, 0, length);
-	flush_dcache_page(page);
-	kunmap_atomic(kaddr, KM_USER0);
-
+	memclear_highpage_flush(page, offset, length);
 	mark_buffer_dirty(bh);
 	err = 0;
 
@@ -2574,7 +2537,6 @@ int block_write_full_page(struct page *p
 	loff_t i_size = i_size_read(inode);
 	const pgoff_t end_index = i_size >> PAGE_CACHE_SHIFT;
 	unsigned offset;
-	void *kaddr;
 
 	/* Is the page fully inside i_size? */
 	if (page->index < end_index)
@@ -2600,10 +2562,7 @@ int block_write_full_page(struct page *p
 	 * the  page size, the remaining memory is zeroed when mapped, and
 	 * writes to that region are not written out to the file."
 	 */
-	kaddr = kmap_atomic(page, KM_USER0);
-	memset(kaddr + offset, 0, PAGE_CACHE_SIZE - offset);
-	flush_dcache_page(page);
-	kunmap_atomic(kaddr, KM_USER0);
+	memclear_highpage_flush(page, offset, PAGE_CACHE_SIZE - offset);
 	return __block_write_full_page(inode, page, get_block, wbc);
 }
 
Index: linux-2.6.21-rc7/fs/direct-io.c
===================================================================
--- linux-2.6.21-rc7.orig/fs/direct-io.c	2007-04-23 14:28:35.000000000 -0700
+++ linux-2.6.21-rc7/fs/direct-io.c	2007-04-23 14:29:21.000000000 -0700
@@ -867,7 +867,6 @@ static int do_direct_IO(struct dio *dio)
 do_holes:
 			/* Handle holes */
 			if (!buffer_mapped(map_bh)) {
-				char *kaddr;
 				loff_t i_size_aligned;
 
 				/* AKPM: eargh, -ENOTBLK is a hack */
@@ -888,11 +887,8 @@ do_holes:
 					page_cache_release(page);
 					goto out;
 				}
-				kaddr = kmap_atomic(page, KM_USER0);
-				memset(kaddr + (block_in_page << blkbits),
-						0, 1 << blkbits);
-				flush_dcache_page(page);
-				kunmap_atomic(kaddr, KM_USER0);
+				memclear_highpage_flush(page,
+					block_in_page << blkbits, 1 << blkbits);
 				dio->block_in_file++;
 				block_in_page++;
 				goto next_block;
Index: linux-2.6.21-rc7/fs/libfs.c
===================================================================
--- linux-2.6.21-rc7.orig/fs/libfs.c	2007-04-23 14:29:49.000000000 -0700
+++ linux-2.6.21-rc7/fs/libfs.c	2007-04-23 14:32:19.000000000 -0700
@@ -332,11 +332,11 @@ int simple_prepare_write(struct file *fi
 {
 	if (!PageUptodate(page)) {
 		if (to - from != PAGE_CACHE_SIZE) {
-			void *kaddr = kmap_atomic(page, KM_USER0);
-			memset(kaddr, 0, from);
-			memset(kaddr + to, 0, PAGE_CACHE_SIZE - to);
-			flush_dcache_page(page);
-			kunmap_atomic(kaddr, KM_USER0);
+			if (from)
+				memclear_highpage_flush(page, 0, from);
+			if (to < PAGE_CACHE_SIZE)
+				memclear_highpage_flush(page, to,
+					PAGE_CACHE_SIZE - to);
 		}
 	}
 	return 0;
Index: linux-2.6.21-rc7/fs/mpage.c
===================================================================
--- linux-2.6.21-rc7.orig/fs/mpage.c	2007-04-23 14:32:27.000000000 -0700
+++ linux-2.6.21-rc7/fs/mpage.c	2007-04-23 14:53:55.000000000 -0700
@@ -284,11 +284,8 @@ do_mpage_readpage(struct bio *bio, struc
 	}
 
 	if (first_hole != blocks_per_page) {
-		char *kaddr = kmap_atomic(page, KM_USER0);
-		memset(kaddr + (first_hole << blkbits), 0,
+		memclear_highpage_flush(page, first_hole << blkbits,
 				PAGE_CACHE_SIZE - (first_hole << blkbits));
-		flush_dcache_page(page);
-		kunmap_atomic(kaddr, KM_USER0);
 		if (first_hole == 0) {
 			SetPageUptodate(page);
 			unlock_page(page);
@@ -576,14 +573,11 @@ page_is_mapped:
 		 * written out to the file."
 		 */
 		unsigned offset = i_size & (PAGE_CACHE_SIZE - 1);
-		char *kaddr;
 
 		if (page->index > end_index || !offset)
 			goto confused;
-		kaddr = kmap_atomic(page, KM_USER0);
-		memset(kaddr + offset, 0, PAGE_CACHE_SIZE - offset);
-		flush_dcache_page(page);
-		kunmap_atomic(kaddr, KM_USER0);
+		memclear_highpage_flush(page, offset,
+			PAGE_CACHE_SIZE - offset);
 	}
 
 	/*
Index: linux-2.6.21-rc7/mm/filemap_xip.c
===================================================================
--- linux-2.6.21-rc7.orig/mm/filemap_xip.c	2007-04-23 14:34:41.000000000 -0700
+++ linux-2.6.21-rc7/mm/filemap_xip.c	2007-04-23 14:35:26.000000000 -0700
@@ -458,11 +458,7 @@ xip_truncate_page(struct address_space *
 		else
 			return PTR_ERR(page);
 	}
-	kaddr = kmap_atomic(page, KM_USER0);
-	memset(kaddr + offset, 0, length);
-	kunmap_atomic(kaddr, KM_USER0);
-
-	flush_dcache_page(page);
+	memclear_highpage_flush(page, offset, length);
 	return 0;
 }
 EXPORT_SYMBOL_GPL(xip_truncate_page);

--

  reply	other threads:[~2007-04-24 22:26 UTC|newest]

Thread overview: 235+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-24 22:21 [00/17] Large Blocksize Support V3 clameter
2007-04-24 22:21 ` clameter [this message]
2007-04-24 22:21 ` [02/17] Fix page allocation flags in grow_dev_page() clameter
2007-04-24 22:21 ` [03/17] Fix: find_or_create_page does not spread memory clameter
2007-04-24 22:21 ` [04/17] Free up page->private for compound pages clameter
2007-04-24 22:21 ` [05/17] More compound page features clameter
2007-04-24 22:21 ` [06/17] Fix up handling of Compound head pages clameter
2007-04-24 22:21 ` [07/17] vmstat.c: Support accounting for compound pages clameter
2007-04-24 22:21 ` [08/17] Define functions for page cache handling clameter
2007-04-24 23:00   ` Eric Dumazet
2007-04-25  6:27     ` Christoph Lameter
2007-04-24 22:21 ` [09/17] Convert PAGE_CACHE_xxx -> page_cache_xxx function calls clameter
2007-04-24 22:21 ` [10/17] Variable Order Page Cache: Add clearing and flushing function clameter
2007-04-26  7:02   ` Christoph Lameter
2007-04-26  8:14     ` David Chinner
2007-04-24 22:21 ` [11/17] Readahead support for the variable order page cache clameter
2007-04-24 22:21 ` [12/17] Variable Page Cache Size: Fix up reclaim counters clameter
2007-04-24 22:21 ` [13/17] set_blocksize: Allow to set a larger block size than PAGE_SIZE clameter
2007-04-24 22:21 ` [14/17] Add VM_BUG_ONs to check for correct page order clameter
2007-04-24 22:21 ` [15/17] ramfs: Variable order page cache support clameter
2007-04-24 22:21 ` [16/17] ext2: " clameter
2007-04-24 22:21 ` [17/17] xfs: " clameter
2007-04-25  0:46 ` [00/17] Large Blocksize Support V3 Jörn Engel
2007-04-25  0:47 ` H. Peter Anvin
2007-04-25  3:11 ` William Lee Irwin III
2007-04-25 11:35 ` Jens Axboe
2007-04-25 15:36   ` Christoph Lameter
2007-04-25 17:53     ` Jens Axboe
2007-04-25 18:03       ` Christoph Lameter
2007-04-25 18:05         ` Jens Axboe
2007-04-25 18:14           ` Christoph Lameter
2007-04-25 18:16             ` Jens Axboe
2007-04-25 13:28 ` Mel Gorman
2007-04-25 15:23   ` Christoph Lameter
2007-04-25 22:46 ` Badari Pulavarty
2007-04-26  1:14   ` David Chinner
2007-04-26  1:17     ` David Chinner
2007-04-26  4:51 ` Eric W. Biederman
2007-04-26  5:05   ` Christoph Lameter
2007-04-26  5:44     ` Eric W. Biederman
2007-04-26  6:37       ` Christoph Lameter
2007-04-26  9:16         ` Mel Gorman
2007-04-26  6:38       ` Nick Piggin
2007-04-26  6:46         ` Christoph Lameter
2007-04-26  6:57           ` Nick Piggin
2007-04-26  7:10             ` Christoph Lameter
2007-04-26  7:22               ` Nick Piggin
2007-04-26  7:34                 ` Christoph Lameter
2007-04-26  7:48                   ` Nick Piggin
2007-04-26  9:20                     ` David Chinner
2007-04-26 13:53                       ` Avi Kivity
2007-04-26 14:33                         ` David Chinner
2007-04-26 14:56                           ` Avi Kivity
2007-04-26 15:20                       ` Nick Piggin
2007-04-26 17:42                         ` Jens Axboe
2007-04-26 18:59                           ` Eric W. Biederman
2007-04-26 16:07                     ` Christoph Hellwig
2007-04-27 10:05                       ` Nick Piggin
2007-04-27 13:06                         ` Mel Gorman
2007-04-26 13:50                   ` William Lee Irwin III
2007-04-26 18:09                     ` Eric W. Biederman
2007-04-26 23:34                       ` William Lee Irwin III
2007-04-26  7:48                 ` Questions on printk and console_drivers gshan
2007-04-26 10:06           ` [00/17] Large Blocksize Support V3 Mel Gorman
2007-04-26 14:47             ` Nick Piggin
2007-04-26 15:58         ` Christoph Hellwig
2007-04-26 16:05           ` Jens Axboe
2007-04-26 16:16             ` Christoph Hellwig
2007-04-26 13:28       ` Alan Cox
2007-04-26 13:30         ` Jens Axboe
2007-04-29 14:12         ` Matt Mackall
2007-04-28 10:55       ` Pierre Ossman
2007-04-28 15:39         ` Eric W. Biederman
2007-04-26  5:37   ` Nick Piggin
2007-04-26  6:38     ` David Chinner
2007-04-26  6:50       ` Nick Piggin
2007-04-26  8:40         ` Mel Gorman
2007-04-26  8:55           ` Nick Piggin
2007-04-26 10:30             ` Mel Gorman
2007-04-26 10:54               ` Eric W. Biederman
2007-04-26 12:23                 ` Mel Gorman
2007-04-26 17:58                 ` Christoph Lameter
2007-04-26 18:02                   ` Jens Axboe
2007-04-26 16:11         ` Christoph Hellwig
2007-04-26 17:49           ` Eric W. Biederman
2007-04-26 18:03             ` Christoph Lameter
2007-04-26 18:03               ` Jens Axboe
2007-04-26 18:09                 ` Christoph Hellwig
2007-04-26 18:12                   ` Jens Axboe
2007-04-26 18:24                     ` Christoph Hellwig
2007-04-26 18:24                       ` Jens Axboe
2007-04-26 18:28                     ` Christoph Lameter
2007-04-26 18:29                       ` Jens Axboe
2007-04-26 18:35                         ` Christoph Lameter
2007-04-26 18:39                           ` Jens Axboe
2007-04-26 19:35                             ` Eric W. Biederman
2007-04-26 19:42                               ` Jens Axboe
2007-04-27  4:05                                 ` Eric W. Biederman
2007-04-27 10:26                                   ` Nick Piggin
2007-04-27 13:51                                     ` Eric W. Biederman
2007-04-26 20:22                             ` Mel Gorman
2007-04-27  0:21                               ` William Lee Irwin III
2007-04-27  5:16                               ` Jens Axboe
2007-04-27 10:38           ` Nick Piggin
2007-04-26 10:10       ` Eric W. Biederman
2007-04-26 13:50         ` David Chinner
2007-04-26 14:40           ` William Lee Irwin III
2007-04-26 15:38           ` Nick Piggin
2007-04-26 15:58             ` William Lee Irwin III
2007-04-27  9:46               ` Nick Piggin
2007-04-27  0:19           ` Jeremy Higdon
2007-04-26 18:07         ` Christoph Lameter
2007-04-26 18:45           ` Eric W. Biederman
2007-04-26 18:59             ` Christoph Lameter
2007-04-26 19:21               ` Eric W. Biederman
2007-04-26  6:40     ` Christoph Lameter
2007-04-26  6:53       ` Nick Piggin
2007-04-26  7:04         ` David Chinner
2007-04-26  7:07           ` Nick Piggin
2007-04-26  7:11             ` Christoph Lameter
2007-04-26  7:17               ` Nick Piggin
2007-04-26  7:28                 ` Christoph Lameter
2007-04-26  7:45                   ` Nick Piggin
2007-04-26 18:10                     ` Christoph Lameter
2007-04-27 10:08                       ` Nick Piggin
2007-04-26  7:07         ` Christoph Lameter
2007-04-26  7:15           ` Nick Piggin
2007-04-26  7:22             ` Christoph Lameter
2007-04-26  7:42               ` Nick Piggin
2007-04-26 10:48                 ` Mel Gorman
2007-04-26 12:37                 ` Andy Whitcroft
2007-04-26 14:18                   ` David Chinner
2007-04-26 15:08                   ` Nick Piggin
2007-04-26 15:19                     ` William Lee Irwin III
2007-04-26 15:28                     ` David Chinner
2007-04-26 14:53                 ` William Lee Irwin III
2007-04-26 18:16                   ` Christoph Lameter
2007-04-26 18:21                   ` Eric W. Biederman
2007-04-27  0:32                     ` William Lee Irwin III
2007-04-27 10:22                       ` Nick Piggin
2007-04-27 12:58                         ` William Lee Irwin III
2007-04-27 13:06                           ` Nick Piggin
2007-04-27 14:49                             ` William Lee Irwin III
2007-04-26 18:13                 ` Christoph Lameter
2007-04-27 10:15                   ` Nick Piggin
2007-04-26 14:49               ` William Lee Irwin III
2007-04-26 18:50 ` Maxim Levitsky
2007-04-27  2:04 ` Andrew Morton
2007-04-27  2:27   ` David Chinner
2007-04-27  2:53     ` Andrew Morton
2007-04-27  3:47       ` [00/17] Large Blocksize Support V3 (mmap conceptual discussion) Christoph Lameter
2007-04-27  4:20       ` [00/17] Large Blocksize Support V3 David Chinner
2007-04-27  5:15         ` Andrew Morton
2007-04-27  5:49           ` Christoph Lameter
2007-04-27  6:55             ` Andrew Morton
2007-04-27  7:19               ` Christoph Lameter
2007-04-27  7:26                 ` Andrew Morton
2007-04-27  8:37                   ` David Chinner
2007-04-27 12:01                   ` Christoph Lameter
2007-04-27 16:36                   ` David Chinner
2007-04-27 17:34                     ` David Chinner
2007-04-27 19:11                       ` Andrew Morton
2007-04-28  1:43                         ` Nick Piggin
2007-04-28  8:04                           ` Peter Zijlstra
2007-04-28  8:22                             ` Andrew Morton
2007-04-28  8:32                               ` Peter Zijlstra
2007-04-28  8:55                                 ` Andrew Morton
2007-04-28  9:36                                   ` Peter Zijlstra
2007-04-28 14:09                               ` William Lee Irwin III
2007-04-28 18:26                                 ` Andrew Morton
2007-04-28 19:19                                   ` William Lee Irwin III
2007-04-28 21:28                                     ` Andrew Morton
2007-04-28  3:17                         ` David Chinner
2007-04-28  3:49                           ` Christoph Lameter
2007-04-28  4:56                           ` Andrew Morton
2007-04-28  5:08                             ` Christoph Lameter
2007-04-28  5:36                               ` Andrew Morton
2007-04-28  6:24                                 ` Christoph Lameter
2007-04-28  6:52                                   ` Andrew Morton
2007-04-30  5:30                                     ` Christoph Lameter
2007-04-28  9:43                             ` Alan Cox
2007-04-28  9:58                               ` Andrew Morton
2007-04-28 10:21                                 ` Alan Cox
2007-04-28 10:25                                   ` Andrew Morton
2007-04-28 11:29                                     ` Alan Cox
2007-04-28 14:37                                       ` William Lee Irwin III
2007-04-27  7:22               ` Christoph Lameter
2007-04-27  7:29                 ` Andrew Morton
2007-04-27  7:35                   ` Christoph Lameter
2007-04-27  7:43                     ` Andrew Morton
2007-04-27 11:05               ` Paul Mackerras
2007-04-27 11:41                 ` Nick Piggin
2007-04-27 12:12                   ` Christoph Lameter
2007-04-27 12:25                     ` Nick Piggin
2007-04-27 13:39                       ` Christoph Hellwig
2007-04-28  2:27                         ` Nick Piggin
2007-04-28  2:39                           ` William Lee Irwin III
2007-04-28  2:50                             ` Nick Piggin
2007-04-28  3:16                               ` William Lee Irwin III
2007-04-28  8:16                           ` Christoph Hellwig
2007-04-27 16:48                       ` Christoph Lameter
2007-04-27 13:37                     ` Christoph Hellwig
2007-04-27 12:14                   ` Paul Mackerras
2007-04-27 12:36                     ` Nick Piggin
2007-04-27 13:42                     ` Christoph Hellwig
2007-04-27 11:58                 ` Christoph Lameter
2007-04-27 13:44               ` William Lee Irwin III
2007-04-27 19:15                 ` Andrew Morton
2007-04-28  2:21                   ` William Lee Irwin III
2007-04-27  6:09           ` David Chinner
2007-04-27  7:04             ` Andrew Morton
2007-04-27  8:03               ` David Chinner
2007-04-27  8:48                 ` Andrew Morton
2007-04-27 16:45                   ` Theodore Tso
2007-05-04 13:33                     ` Eric W. Biederman
2007-05-07  4:29                       ` David Chinner
2007-05-07  4:48                         ` Eric W. Biederman
2007-05-07  5:27                           ` David Chinner
2007-05-07  6:43                             ` Eric W. Biederman
2007-05-07  6:49                               ` William Lee Irwin III
2007-05-07  7:06                                 ` William Lee Irwin III
2007-05-08  8:49                                   ` William Lee Irwin III
2007-05-07 16:06                               ` Christoph Lameter
2007-05-07 17:29                                 ` William Lee Irwin III
2007-05-04 12:57                   ` Eric W. Biederman
2007-05-04 13:31                 ` Eric W. Biederman
2007-05-04 16:11                   ` Christoph Lameter
2007-05-07  4:58                   ` David Chinner
2007-05-07  6:56                     ` Eric W. Biederman
2007-05-07 15:17                       ` Weigert, Daniel
2007-04-27 16:55           ` Theodore Tso
2007-04-27 17:32             ` Nicholas Miell
2007-04-27 18:12               ` William Lee Irwin III
2007-04-28 16:39 ` Maxim Levitsky
2007-04-30  5:23   ` Christoph Lameter

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=20070424222304.659670936@sgi.com \
    --to=clameter@sgi.com \
    --cc=dgc@sgi.com \
    --cc=jens.axboe@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maximlevitsky@gmail.com \
    --cc=mel@skynet.ie \
    --cc=pbadari@gmail.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.