From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Mon, 12 Jun 2006 16:48:55 -0700 (PDT) From: Christoph Lameter Subject: Re: [PATCH 19/21] swap_prefetch: Conversion of nr_unstable to ZVC In-Reply-To: <200606130940.16956.kernel@kolivas.org> Message-ID: References: <20060612211244.20862.41106.sendpatchset@schroedinger.engr.sgi.com> <20060612211423.20862.41488.sendpatchset@schroedinger.engr.sgi.com> <200606130940.16956.kernel@kolivas.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org Return-Path: To: Con Kolivas Cc: linux-kernel@vger.kernel.org, akpm@osdl.org, Hugh Dickins , Marcelo Tosatti , Nick Piggin , linux-mm@kvack.org, Andi Kleen , Dave Chinner List-ID: On Tue, 13 Jun 2006, Con Kolivas wrote: > Nack. You're changing some other code unintentionally. Is this okay? Subject: swap_prefetch: conversion of nr_unstable to per zone counter From: Christoph Lameter The determination of the vm state is now not that expensive anymore after we remove the use of the page state. Remove the logic to avoid the expensive checks. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Index: linux-2.6.17-rc6-cl/mm/swap_prefetch.c =================================================================== --- linux-2.6.17-rc6-cl.orig/mm/swap_prefetch.c 2006-06-12 13:37:47.283159568 -0700 +++ linux-2.6.17-rc6-cl/mm/swap_prefetch.c 2006-06-12 16:46:48.504626417 -0700 @@ -357,7 +357,6 @@ static int prefetch_suitable(void) */ for_each_node_mask(node, sp_stat.prefetch_nodes) { struct node_stats *ns = &sp_stat.node[node]; - struct page_state ps; /* * We check to see that pages are not being allocated @@ -375,11 +374,6 @@ static int prefetch_suitable(void) } else ns->last_free = ns->current_free; - if (!test_pagestate) - continue; - - get_page_state_node(&ps, node); - /* We shouldn't prefetch when we are doing writeback */ if (node_page_state(node, NR_WRITEBACK)) { node_clear(node, sp_stat.prefetch_nodes); @@ -394,7 +388,8 @@ static int prefetch_suitable(void) node_page_state(node, NR_ANON) + node_page_state(node, NR_SLAB) + node_page_state(node, NR_DIRTY) + - ps.nr_unstable + total_swapcache_pages; + node_page_state(node, NR_UNSTABLE) + + total_swapcache_pages; if (limit > ns->prefetch_watermark) { node_clear(node, sp_stat.prefetch_nodes); continue; -- 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: email@kvack.org