From: Christoph Lameter <clameter@sgi.com> To: akpm@osdl.org Cc: Paul Menage <menage@google.com>, linux-kernel@vger.kernel.org, Nick Piggin <nickpiggin@yahoo.com.au>, linux-mm@kvack.org, Andi Kleen <ak@suse.de>, Paul Jackson <pj@sgi.com>, Dave Chinner <dgc@sgi.com>, Christoph Lameter <clameter@sgi.com> Subject: [RFC 7/8] Exclude unreclaimable pages from dirty ration calculation Date: Mon, 15 Jan 2007 21:48:19 -0800 (PST) [thread overview] Message-ID: <20070116054819.15358.37282.sendpatchset@schroedinger.engr.sgi.com> (raw) In-Reply-To: <20070116054743.15358.77287.sendpatchset@schroedinger.engr.sgi.com> Consider unreclaimable pages during dirty limit calculation Tracking unreclaimable pages helps us to calculate the dirty ratio the right way. If a large number of unreclaimable pages are allocated (through the slab or through huge pages) then write throttling will no longer work since the limit cannot be reached anymore. So we simply subtract the number of unreclaimable pages from the pages considered for writeout threshold calculation. Other code that allocates significant amounts of memory for device drivers etc could also be modified to take advantage of this functionality. Signed-off-by: Christoph Lameter <clameter@sgi.com> Index: linux-2.6.20-rc5/include/linux/mmzone.h =================================================================== --- linux-2.6.20-rc5.orig/include/linux/mmzone.h 2007-01-12 12:54:26.000000000 -0600 +++ linux-2.6.20-rc5/include/linux/mmzone.h 2007-01-15 21:37:37.579950696 -0600 @@ -53,6 +53,7 @@ enum zone_stat_item { NR_FILE_PAGES, NR_SLAB_RECLAIMABLE, NR_SLAB_UNRECLAIMABLE, + NR_UNRECLAIMABLE, NR_PAGETABLE, /* used for pagetables */ NR_FILE_DIRTY, NR_WRITEBACK, Index: linux-2.6.20-rc5/fs/proc/proc_misc.c =================================================================== --- linux-2.6.20-rc5.orig/fs/proc/proc_misc.c 2007-01-12 12:54:26.000000000 -0600 +++ linux-2.6.20-rc5/fs/proc/proc_misc.c 2007-01-15 21:37:37.641479580 -0600 @@ -174,6 +174,7 @@ static int meminfo_read_proc(char *page, "Slab: %8lu kB\n" "SReclaimable: %8lu kB\n" "SUnreclaim: %8lu kB\n" + "Unreclaimabl: %8lu kB\n" "PageTables: %8lu kB\n" "NFS_Unstable: %8lu kB\n" "Bounce: %8lu kB\n" @@ -205,6 +206,7 @@ static int meminfo_read_proc(char *page, global_page_state(NR_SLAB_UNRECLAIMABLE)), K(global_page_state(NR_SLAB_RECLAIMABLE)), K(global_page_state(NR_SLAB_UNRECLAIMABLE)), + K(global_page_state(NR_UNRECLAIMABLE)), K(global_page_state(NR_PAGETABLE)), K(global_page_state(NR_UNSTABLE_NFS)), K(global_page_state(NR_BOUNCE)), Index: linux-2.6.20-rc5/mm/hugetlb.c =================================================================== --- linux-2.6.20-rc5.orig/mm/hugetlb.c 2007-01-12 12:54:26.000000000 -0600 +++ linux-2.6.20-rc5/mm/hugetlb.c 2007-01-15 21:37:37.664919155 -0600 @@ -115,6 +115,8 @@ static int alloc_fresh_huge_page(void) nr_huge_pages_node[page_to_nid(page)]++; spin_unlock(&hugetlb_lock); put_page(page); /* free it into the hugepage allocator */ + mod_zone_page_state(page_zone(page), NR_UNRECLAIMABLE, + HPAGE_SIZE / PAGE_SIZE); return 1; } return 0; @@ -183,6 +185,8 @@ static void update_and_free_page(struct 1 << PG_dirty | 1 << PG_active | 1 << PG_reserved | 1 << PG_private | 1<< PG_writeback); } + mod_zone_page_state(page_zone(page), NR_UNRECLAIMABLE, + - (HPAGE_SIZE / PAGE_SIZE)); page[1].lru.next = NULL; set_page_refcounted(page); __free_pages(page, HUGETLB_PAGE_ORDER); Index: linux-2.6.20-rc5/mm/vmstat.c =================================================================== --- linux-2.6.20-rc5.orig/mm/vmstat.c 2007-01-12 12:54:26.000000000 -0600 +++ linux-2.6.20-rc5/mm/vmstat.c 2007-01-15 21:37:37.686405431 -0600 @@ -459,6 +459,7 @@ static const char * const vmstat_text[] "nr_file_pages", "nr_slab_reclaimable", "nr_slab_unreclaimable", + "nr_unreclaimable", "nr_page_table_pages", "nr_dirty", "nr_writeback", Index: linux-2.6.20-rc5/mm/page-writeback.c =================================================================== --- linux-2.6.20-rc5.orig/mm/page-writeback.c 2007-01-15 21:37:33.302228293 -0600 +++ linux-2.6.20-rc5/mm/page-writeback.c 2007-01-15 21:37:37.697148570 -0600 @@ -165,7 +165,9 @@ get_dirty_limits(struct dirty_limits *dl dl->nr_writeback += node_page_state(node, NR_WRITEBACK); available_memory += - NODE_DATA(node)->node_present_pages; + NODE_DATA(node)->node_present_pages + - node_page_state(node, NR_UNRECLAIMABLE) + - node_page_state(node, NR_SLAB_UNRECLAIMABLE); #ifdef CONFIG_HIGHMEM high_memory += NODE_DATA(node) ->node_zones[ZONE_HIGHMEM]->present_pages; @@ -180,7 +182,9 @@ get_dirty_limits(struct dirty_limits *dl dl->nr_dirty = global_page_state(NR_FILE_DIRTY); dl->nr_unstable = global_page_state(NR_UNSTABLE_NFS); dl->nr_writeback = global_page_state(NR_WRITEBACK); - available_memory = vm_total_pages; + available_memory = vm_total_pages + - global_page_state(NR_UNRECLAIMABLE) + - global_page_state(NR_SLAB_UNRECLAIMABLE); high_memory = totalhigh_pages; nr_mapped = global_page_state(NR_FILE_MAPPED) + global_page_state(NR_ANON_PAGES); Index: linux-2.6.20-rc5/drivers/base/node.c =================================================================== --- linux-2.6.20-rc5.orig/drivers/base/node.c 2007-01-12 12:54:26.000000000 -0600 +++ linux-2.6.20-rc5/drivers/base/node.c 2007-01-15 21:37:37.759654103 -0600 @@ -70,7 +70,8 @@ static ssize_t node_read_meminfo(struct "Node %d Bounce: %8lu kB\n" "Node %d Slab: %8lu kB\n" "Node %d SReclaimable: %8lu kB\n" - "Node %d SUnreclaim: %8lu kB\n", + "Node %d SUnreclaim: %8lu kB\n" + "Node %d Unreclaimabl: %8lu kB\n", nid, K(i.totalram), nid, K(i.freeram), nid, K(i.totalram - i.freeram), @@ -93,7 +94,8 @@ static ssize_t node_read_meminfo(struct nid, K(node_page_state(nid, NR_SLAB_RECLAIMABLE) + node_page_state(nid, NR_SLAB_UNRECLAIMABLE)), nid, K(node_page_state(nid, NR_SLAB_RECLAIMABLE)), - nid, K(node_page_state(nid, NR_SLAB_UNRECLAIMABLE))); + nid, K(node_page_state(nid, NR_SLAB_UNRECLAIMABLE)), + nid, K(node_page_state(nid, NR_UNRECLAIMABLE))); n += hugetlb_report_node_meminfo(nid, buf + n); return n; }
WARNING: multiple messages have this Message-ID (diff)
From: Christoph Lameter <clameter@sgi.com> To: akpm@osdl.org Cc: Paul Menage <menage@google.com>, linux-kernel@vger.kernel.org, Nick Piggin <nickpiggin@yahoo.com.au>, linux-mm@kvack.org, Andi Kleen <ak@suse.de>, Paul Jackson <pj@sgi.com>, Dave Chinner <dgc@sgi.com>, Christoph Lameter <clameter@sgi.com> Subject: [RFC 7/8] Exclude unreclaimable pages from dirty ration calculation Date: Mon, 15 Jan 2007 21:48:19 -0800 (PST) [thread overview] Message-ID: <20070116054819.15358.37282.sendpatchset@schroedinger.engr.sgi.com> (raw) In-Reply-To: <20070116054743.15358.77287.sendpatchset@schroedinger.engr.sgi.com> Consider unreclaimable pages during dirty limit calculation Tracking unreclaimable pages helps us to calculate the dirty ratio the right way. If a large number of unreclaimable pages are allocated (through the slab or through huge pages) then write throttling will no longer work since the limit cannot be reached anymore. So we simply subtract the number of unreclaimable pages from the pages considered for writeout threshold calculation. Other code that allocates significant amounts of memory for device drivers etc could also be modified to take advantage of this functionality. Signed-off-by: Christoph Lameter <clameter@sgi.com> Index: linux-2.6.20-rc5/include/linux/mmzone.h =================================================================== --- linux-2.6.20-rc5.orig/include/linux/mmzone.h 2007-01-12 12:54:26.000000000 -0600 +++ linux-2.6.20-rc5/include/linux/mmzone.h 2007-01-15 21:37:37.579950696 -0600 @@ -53,6 +53,7 @@ enum zone_stat_item { NR_FILE_PAGES, NR_SLAB_RECLAIMABLE, NR_SLAB_UNRECLAIMABLE, + NR_UNRECLAIMABLE, NR_PAGETABLE, /* used for pagetables */ NR_FILE_DIRTY, NR_WRITEBACK, Index: linux-2.6.20-rc5/fs/proc/proc_misc.c =================================================================== --- linux-2.6.20-rc5.orig/fs/proc/proc_misc.c 2007-01-12 12:54:26.000000000 -0600 +++ linux-2.6.20-rc5/fs/proc/proc_misc.c 2007-01-15 21:37:37.641479580 -0600 @@ -174,6 +174,7 @@ static int meminfo_read_proc(char *page, "Slab: %8lu kB\n" "SReclaimable: %8lu kB\n" "SUnreclaim: %8lu kB\n" + "Unreclaimabl: %8lu kB\n" "PageTables: %8lu kB\n" "NFS_Unstable: %8lu kB\n" "Bounce: %8lu kB\n" @@ -205,6 +206,7 @@ static int meminfo_read_proc(char *page, global_page_state(NR_SLAB_UNRECLAIMABLE)), K(global_page_state(NR_SLAB_RECLAIMABLE)), K(global_page_state(NR_SLAB_UNRECLAIMABLE)), + K(global_page_state(NR_UNRECLAIMABLE)), K(global_page_state(NR_PAGETABLE)), K(global_page_state(NR_UNSTABLE_NFS)), K(global_page_state(NR_BOUNCE)), Index: linux-2.6.20-rc5/mm/hugetlb.c =================================================================== --- linux-2.6.20-rc5.orig/mm/hugetlb.c 2007-01-12 12:54:26.000000000 -0600 +++ linux-2.6.20-rc5/mm/hugetlb.c 2007-01-15 21:37:37.664919155 -0600 @@ -115,6 +115,8 @@ static int alloc_fresh_huge_page(void) nr_huge_pages_node[page_to_nid(page)]++; spin_unlock(&hugetlb_lock); put_page(page); /* free it into the hugepage allocator */ + mod_zone_page_state(page_zone(page), NR_UNRECLAIMABLE, + HPAGE_SIZE / PAGE_SIZE); return 1; } return 0; @@ -183,6 +185,8 @@ static void update_and_free_page(struct 1 << PG_dirty | 1 << PG_active | 1 << PG_reserved | 1 << PG_private | 1<< PG_writeback); } + mod_zone_page_state(page_zone(page), NR_UNRECLAIMABLE, + - (HPAGE_SIZE / PAGE_SIZE)); page[1].lru.next = NULL; set_page_refcounted(page); __free_pages(page, HUGETLB_PAGE_ORDER); Index: linux-2.6.20-rc5/mm/vmstat.c =================================================================== --- linux-2.6.20-rc5.orig/mm/vmstat.c 2007-01-12 12:54:26.000000000 -0600 +++ linux-2.6.20-rc5/mm/vmstat.c 2007-01-15 21:37:37.686405431 -0600 @@ -459,6 +459,7 @@ static const char * const vmstat_text[] "nr_file_pages", "nr_slab_reclaimable", "nr_slab_unreclaimable", + "nr_unreclaimable", "nr_page_table_pages", "nr_dirty", "nr_writeback", Index: linux-2.6.20-rc5/mm/page-writeback.c =================================================================== --- linux-2.6.20-rc5.orig/mm/page-writeback.c 2007-01-15 21:37:33.302228293 -0600 +++ linux-2.6.20-rc5/mm/page-writeback.c 2007-01-15 21:37:37.697148570 -0600 @@ -165,7 +165,9 @@ get_dirty_limits(struct dirty_limits *dl dl->nr_writeback += node_page_state(node, NR_WRITEBACK); available_memory += - NODE_DATA(node)->node_present_pages; + NODE_DATA(node)->node_present_pages + - node_page_state(node, NR_UNRECLAIMABLE) + - node_page_state(node, NR_SLAB_UNRECLAIMABLE); #ifdef CONFIG_HIGHMEM high_memory += NODE_DATA(node) ->node_zones[ZONE_HIGHMEM]->present_pages; @@ -180,7 +182,9 @@ get_dirty_limits(struct dirty_limits *dl dl->nr_dirty = global_page_state(NR_FILE_DIRTY); dl->nr_unstable = global_page_state(NR_UNSTABLE_NFS); dl->nr_writeback = global_page_state(NR_WRITEBACK); - available_memory = vm_total_pages; + available_memory = vm_total_pages + - global_page_state(NR_UNRECLAIMABLE) + - global_page_state(NR_SLAB_UNRECLAIMABLE); high_memory = totalhigh_pages; nr_mapped = global_page_state(NR_FILE_MAPPED) + global_page_state(NR_ANON_PAGES); Index: linux-2.6.20-rc5/drivers/base/node.c =================================================================== --- linux-2.6.20-rc5.orig/drivers/base/node.c 2007-01-12 12:54:26.000000000 -0600 +++ linux-2.6.20-rc5/drivers/base/node.c 2007-01-15 21:37:37.759654103 -0600 @@ -70,7 +70,8 @@ static ssize_t node_read_meminfo(struct "Node %d Bounce: %8lu kB\n" "Node %d Slab: %8lu kB\n" "Node %d SReclaimable: %8lu kB\n" - "Node %d SUnreclaim: %8lu kB\n", + "Node %d SUnreclaim: %8lu kB\n" + "Node %d Unreclaimabl: %8lu kB\n", nid, K(i.totalram), nid, K(i.freeram), nid, K(i.totalram - i.freeram), @@ -93,7 +94,8 @@ static ssize_t node_read_meminfo(struct nid, K(node_page_state(nid, NR_SLAB_RECLAIMABLE) + node_page_state(nid, NR_SLAB_UNRECLAIMABLE)), nid, K(node_page_state(nid, NR_SLAB_RECLAIMABLE)), - nid, K(node_page_state(nid, NR_SLAB_UNRECLAIMABLE))); + nid, K(node_page_state(nid, NR_SLAB_UNRECLAIMABLE)), + nid, K(node_page_state(nid, NR_UNRECLAIMABLE))); n += hugetlb_report_node_meminfo(nid, buf + n); return n; } -- 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:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2007-01-16 5:49 UTC|newest] Thread overview: 220+ messages / expand[flat|nested] mbox.gz Atom feed top 2007-01-16 5:47 [RFC 0/8] Cpuset aware writeback Christoph Lameter 2007-01-16 5:47 ` Christoph Lameter 2007-01-16 5:47 ` [RFC 1/8] Convert higest_possible_node_id() into nr_node_ids Christoph Lameter 2007-01-16 5:47 ` Christoph Lameter 2007-01-16 22:05 ` Andi Kleen 2007-01-16 22:05 ` Andi Kleen 2007-01-17 3:14 ` Christoph Lameter 2007-01-17 3:14 ` Christoph Lameter 2007-01-17 4:15 ` Andi Kleen 2007-01-17 4:15 ` Andi Kleen 2007-01-17 4:23 ` Christoph Lameter 2007-01-17 4:23 ` Christoph Lameter 2007-01-16 5:47 ` [RFC 2/8] Add a map to inodes to track dirty pages per node Christoph Lameter 2007-01-16 5:47 ` Christoph Lameter 2007-01-16 5:47 ` [RFC 3/8] Add a nodemask to pdflush functions Christoph Lameter 2007-01-16 5:47 ` Christoph Lameter 2007-01-16 5:48 ` [RFC 4/8] Per cpuset dirty ratio handling and writeout Christoph Lameter 2007-01-16 5:48 ` Christoph Lameter 2007-01-16 5:48 ` [RFC 5/8] Make writeout during reclaim cpuset aware Christoph Lameter 2007-01-16 5:48 ` Christoph Lameter 2007-01-16 22:07 ` Andi Kleen 2007-01-16 22:07 ` Andi Kleen 2007-01-17 4:20 ` Paul Jackson 2007-01-17 4:20 ` Paul Jackson 2007-01-17 4:28 ` Andi Kleen 2007-01-17 4:28 ` Andi Kleen 2007-01-17 4:36 ` Paul Jackson 2007-01-17 4:36 ` Paul Jackson 2007-01-17 5:59 ` Andi Kleen 2007-01-17 5:59 ` Andi Kleen 2007-01-17 6:19 ` Christoph Lameter 2007-01-17 6:19 ` Christoph Lameter 2007-01-17 4:23 ` Christoph Lameter 2007-01-17 4:23 ` Christoph Lameter 2007-01-16 5:48 ` [RFC 6/8] Throttle vm writeout per cpuset Christoph Lameter 2007-01-16 5:48 ` Christoph Lameter 2007-01-16 5:48 ` Christoph Lameter [this message] 2007-01-16 5:48 ` [RFC 7/8] Exclude unreclaimable pages from dirty ration calculation Christoph Lameter 2007-01-18 15:48 ` Nikita Danilov 2007-01-18 15:48 ` Nikita Danilov 2007-01-18 19:56 ` Christoph Lameter 2007-01-18 19:56 ` Christoph Lameter 2007-01-16 5:48 ` [RFC 8/8] Reduce inode memory usage for systems with a high MAX_NUMNODES Christoph Lameter 2007-01-16 5:48 ` Christoph Lameter 2007-01-16 19:52 ` Paul Menage 2007-01-16 19:52 ` Paul Menage 2007-01-16 20:00 ` Christoph Lameter 2007-01-16 20:00 ` Christoph Lameter 2007-01-16 20:06 ` Paul Menage 2007-01-16 20:06 ` Paul Menage 2007-01-16 20:51 ` Christoph Lameter 2007-01-16 20:51 ` Christoph Lameter 2007-01-16 7:38 ` [RFC 0/8] Cpuset aware writeback Peter Zijlstra 2007-01-16 7:38 ` Peter Zijlstra 2007-01-16 20:10 ` Christoph Lameter 2007-01-16 20:10 ` Christoph Lameter 2007-01-16 9:25 ` Paul Jackson 2007-01-16 9:25 ` Paul Jackson 2007-01-16 17:13 ` Christoph Lameter 2007-01-16 17:13 ` Christoph Lameter 2007-01-16 21:53 ` Andrew Morton 2007-01-16 21:53 ` Andrew Morton 2007-01-16 22:08 ` [PATCH] nfs: fix congestion control Peter Zijlstra 2007-01-16 22:08 ` [PATCH] nfs: fix congestion control, " Peter Zijlstra 2007-01-16 22:27 ` [PATCH] " Trond Myklebust 2007-01-16 22:27 ` Trond Myklebust 2007-01-17 2:41 ` Peter Zijlstra 2007-01-17 2:41 ` Peter Zijlstra 2007-01-17 6:15 ` Trond Myklebust 2007-01-17 6:15 ` Trond Myklebust 2007-01-17 8:49 ` Peter Zijlstra 2007-01-17 8:49 ` Peter Zijlstra 2007-01-17 13:50 ` Trond Myklebust 2007-01-17 13:50 ` Trond Myklebust 2007-01-17 14:29 ` Peter Zijlstra 2007-01-17 14:29 ` Peter Zijlstra 2007-01-17 14:45 ` Trond Myklebust 2007-01-17 14:45 ` Trond Myklebust 2007-01-17 20:05 ` Christoph Lameter 2007-01-17 20:05 ` Christoph Lameter 2007-01-17 21:52 ` Peter Zijlstra 2007-01-17 21:52 ` Peter Zijlstra 2007-01-17 21:54 ` Trond Myklebust 2007-01-17 21:54 ` Trond Myklebust 2007-01-18 13:27 ` Peter Zijlstra 2007-01-18 13:27 ` Peter Zijlstra 2007-01-18 15:49 ` Trond Myklebust 2007-01-18 15:49 ` Trond Myklebust 2007-01-19 9:33 ` Peter Zijlstra 2007-01-19 9:33 ` Peter Zijlstra 2007-01-19 13:07 ` Peter Zijlstra 2007-01-19 13:07 ` Peter Zijlstra 2007-01-19 16:51 ` Trond Myklebust 2007-01-19 16:51 ` Trond Myklebust 2007-01-19 17:54 ` Peter Zijlstra 2007-01-19 17:54 ` Peter Zijlstra 2007-01-19 17:20 ` Christoph Lameter 2007-01-19 17:20 ` Christoph Lameter 2007-01-19 17:57 ` Peter Zijlstra 2007-01-19 17:57 ` Peter Zijlstra 2007-01-19 18:02 ` Christoph Lameter 2007-01-19 18:02 ` Christoph Lameter 2007-01-19 18:26 ` Trond Myklebust 2007-01-19 18:26 ` Trond Myklebust 2007-01-19 18:27 ` Christoph Lameter 2007-01-19 18:27 ` Christoph Lameter 2007-01-20 7:01 ` [PATCH] nfs: fix congestion control -v3 Peter Zijlstra 2007-01-20 7:01 ` [PATCH] nfs: fix congestion control -v3, nfs: fix congestion control Peter Zijlstra 2007-01-22 16:12 ` [PATCH] nfs: fix congestion control -v3 Trond Myklebust 2007-01-22 16:12 ` Trond Myklebust 2007-01-25 15:32 ` [PATCH] nfs: fix congestion control -v4 Peter Zijlstra 2007-01-25 15:32 ` Peter Zijlstra 2007-01-26 5:02 ` Andrew Morton 2007-01-26 5:02 ` Andrew Morton 2007-01-26 8:00 ` Peter Zijlstra 2007-01-26 8:00 ` Peter Zijlstra 2007-01-26 8:50 ` Peter Zijlstra 2007-01-26 8:50 ` Peter Zijlstra 2007-01-26 5:09 ` Andrew Morton 2007-01-26 5:09 ` Andrew Morton 2007-01-26 5:31 ` Christoph Lameter 2007-01-26 5:31 ` Christoph Lameter 2007-01-26 6:04 ` Andrew Morton 2007-01-26 6:04 ` Andrew Morton 2007-01-26 6:53 ` Christoph Lameter 2007-01-26 6:53 ` Christoph Lameter 2007-01-26 8:03 ` Peter Zijlstra 2007-01-26 8:03 ` Peter Zijlstra 2007-01-26 8:51 ` Andrew Morton 2007-01-26 8:51 ` Andrew Morton 2007-01-26 9:01 ` Peter Zijlstra 2007-01-26 9:01 ` Peter Zijlstra 2007-02-20 12:59 ` Peter Zijlstra 2007-02-20 12:59 ` Peter Zijlstra 2007-01-22 17:59 ` [PATCH] nfs: fix congestion control -v3 Christoph Lameter 2007-01-22 17:59 ` Christoph Lameter 2007-01-17 23:15 ` [PATCH] nfs: fix congestion control Christoph Hellwig 2007-01-17 23:15 ` Christoph Hellwig 2007-01-16 22:15 ` [RFC 0/8] Cpuset aware writeback Christoph Lameter 2007-01-16 22:15 ` Christoph Lameter 2007-01-16 23:40 ` Andrew Morton 2007-01-16 23:40 ` Andrew Morton 2007-01-17 0:16 ` Christoph Lameter 2007-01-17 0:16 ` Christoph Lameter 2007-01-17 1:07 ` Andrew Morton 2007-01-17 1:07 ` Andrew Morton 2007-01-17 1:30 ` Christoph Lameter 2007-01-17 1:30 ` Christoph Lameter 2007-01-17 2:34 ` Andrew Morton 2007-01-17 2:34 ` Andrew Morton 2007-01-17 3:40 ` Christoph Lameter 2007-01-17 3:40 ` Christoph Lameter 2007-01-17 4:02 ` Paul Jackson 2007-01-17 4:02 ` Paul Jackson 2007-01-17 4:05 ` Andrew Morton 2007-01-17 4:05 ` Andrew Morton 2007-01-17 6:27 ` Christoph Lameter 2007-01-17 6:27 ` Christoph Lameter 2007-01-17 7:00 ` Andrew Morton 2007-01-17 7:00 ` Andrew Morton 2007-01-17 8:01 ` Paul Jackson 2007-01-17 8:01 ` Paul Jackson 2007-01-17 9:57 ` Andrew Morton 2007-01-17 9:57 ` Andrew Morton 2007-01-17 19:43 ` Christoph Lameter 2007-01-17 19:43 ` Christoph Lameter 2007-01-17 22:10 ` Andrew Morton 2007-01-17 22:10 ` Andrew Morton 2007-01-18 1:10 ` Christoph Lameter 2007-01-18 1:10 ` Christoph Lameter 2007-01-18 1:25 ` Andrew Morton 2007-01-18 1:25 ` Andrew Morton 2007-01-18 5:21 ` Christoph Lameter 2007-01-18 5:21 ` Christoph Lameter 2007-01-16 23:44 ` David Chinner 2007-01-16 23:44 ` David Chinner 2007-01-16 22:01 ` Andi Kleen 2007-01-16 22:01 ` Andi Kleen 2007-01-16 22:18 ` Christoph Lameter 2007-01-16 22:18 ` Christoph Lameter 2007-02-02 1:38 ` Ethan Solomita 2007-02-02 1:38 ` Ethan Solomita 2007-02-02 2:16 ` Christoph Lameter 2007-02-02 2:16 ` Christoph Lameter 2007-02-02 4:03 ` Andrew Morton 2007-02-02 4:03 ` Andrew Morton 2007-02-02 5:29 ` Christoph Lameter 2007-02-02 5:29 ` Christoph Lameter 2007-02-02 6:02 ` Neil Brown 2007-02-02 6:02 ` Neil Brown 2007-02-02 6:17 ` Christoph Lameter 2007-02-02 6:17 ` Christoph Lameter 2007-02-02 6:41 ` Neil Brown 2007-02-02 6:41 ` Neil Brown 2007-02-02 7:12 ` Andrew Morton 2007-02-02 7:12 ` Andrew Morton 2007-03-21 21:11 ` Ethan Solomita 2007-03-21 21:11 ` Ethan Solomita 2007-03-21 21:29 ` Christoph Lameter 2007-03-21 21:29 ` Christoph Lameter 2007-03-21 21:52 ` Andrew Morton 2007-03-21 21:52 ` Andrew Morton 2007-03-21 21:57 ` Christoph Lameter 2007-03-21 21:57 ` Christoph Lameter 2007-04-19 2:07 ` Ethan Solomita 2007-04-19 2:07 ` Ethan Solomita 2007-04-19 2:55 ` Christoph Lameter 2007-04-19 2:55 ` Christoph Lameter 2007-04-19 7:52 ` Ethan Solomita 2007-04-19 7:52 ` Ethan Solomita 2007-04-19 16:03 ` Christoph Lameter 2007-04-19 16:03 ` Christoph Lameter 2007-04-21 1:37 ` Ethan Solomita 2007-04-21 1:37 ` Ethan Solomita 2007-04-21 1:48 ` Christoph Lameter 2007-04-21 1:48 ` Christoph Lameter 2007-04-21 8:15 ` Ethan Solomita 2007-04-21 8:15 ` Ethan Solomita 2007-04-21 15:40 ` Christoph Lameter 2007-04-21 15:40 ` 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=20070116054819.15358.37282.sendpatchset@schroedinger.engr.sgi.com \ --to=clameter@sgi.com \ --cc=ak@suse.de \ --cc=akpm@osdl.org \ --cc=dgc@sgi.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=menage@google.com \ --cc=nickpiggin@yahoo.com.au \ --cc=pj@sgi.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: linkBe 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.