From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Wed, 26 Oct 2005 09:44:58 -0700 (PDT) From: Christoph Lameter Subject: Re: [PATCH 1/5] Swap Migration V4: LRU operations In-Reply-To: <1130319083.17653.37.camel@localhost.localdomain> Message-ID: References: <20051025193023.6828.89649.sendpatchset@schroedinger.engr.sgi.com> <20051025193028.6828.27929.sendpatchset@schroedinger.engr.sgi.com> <1130319083.17653.37.camel@localhost.localdomain> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org Return-Path: To: Peter Zijlstra Cc: akpm@osdl.org, Marcelo Tosatti , Mike Kravetz , Ray Bryant , Lee Schermerhorn , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Magnus Damm , Paul Jackson , Dave Hansen , KAMEZAWA Hiroyuki List-ID: On Wed, 26 Oct 2005, Peter Zijlstra wrote: > On Tue, 2005-10-25 at 12:30 -0700, Christoph Lameter wrote: > > > + if (rc == -1) { /* Not possible to isolate */ > > + list_del(&page->lru); > > + list_add(&page->lru, src); > > } > > Would the usage of list_move() not be simpler? Hmmm. yes the whole section is a bit weird there (sorry Magnus). How about this additional patch: Index: linux-2.6.14-rc5-mm1/mm/vmscan.c =================================================================== --- linux-2.6.14-rc5-mm1.orig/mm/vmscan.c 2005-10-25 08:09:52.000000000 -0700 +++ linux-2.6.14-rc5-mm1/mm/vmscan.c 2005-10-26 09:42:34.000000000 -0700 @@ -590,22 +590,22 @@ static int isolate_lru_pages(struct zone { struct page *page; int scanned = 0; - int rc; while (scanned++ < nr_to_scan && !list_empty(src)) { page = lru_to_page(src); prefetchw_prev_lru_page(page, src, flags); - rc = __isolate_lru_page(zone, page); - - BUG_ON(rc == 0); /* PageLRU(page) must be true */ - - if (rc == 1) /* Succeeded to isolate page */ + switch (__isolate_lru_page(zone, page)) { + case 1: + /* Succeeded to isolate page */ list_add(&page->lru, dst); - - if (rc == -1) { /* Not possible to isolate */ - list_del(&page->lru); - list_add(&page->lru, src); + break; + case -1: + /* Not possible to isolate */ + list_move(&page->lru, src); + break; + default: + BUG(); } } -- 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