From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Thu, 01 Jul 2004 14:58:36 +0900 From: IWAMOTO Toshihiro Subject: Re: [Lhms-devel] new memory hotremoval patch In-Reply-To: <1088659723.10720.3.camel@nighthawk> References: <20040630111719.EBACF70A92@sv1.valinux.co.jp> <1088640671.5265.1017.camel@nighthawk> <20040701030543.8CE8F70A92@sv1.valinux.co.jp> <1088659723.10720.3.camel@nighthawk> MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Message-Id: <20040701055836.A688F70A92@sv1.valinux.co.jp> Sender: owner-linux-mm@kvack.org Return-Path: To: Dave Hansen Cc: IWAMOTO Toshihiro , Linux Kernel Mailing List , lhms , linux-mm List-ID: At Wed, 30 Jun 2004 22:28:44 -0700, Dave Hansen wrote: > > On Wed, 2004-06-30 at 20:05, IWAMOTO Toshihiro wrote: > > At Wed, 30 Jun 2004 17:11:11 -0700, > > Dave Hansen wrote: > > > > > > On Wed, 2004-06-30 at 04:17, IWAMOTO Toshihiro wrote: > > > > Due to struct page changes, page->mapping == NULL predicate can no > > > > longer be used for detecting cancellation of an anonymous page > > > > remapping operation. So the PG_again bit is being used again. > > > > It may be still possible to kill the PG_again bit, but the priority is > > > > rather low. > > > > > > But, you reintroduced it everywhere, including file-backed pages, not > > > just for anonymous pages? Why was this necessary? > > > > Which PG_again check are you talking about? > > I think BUG_ON()s in file backed page codes should be kept for now. > > I'm referring to all of the code segments like this: > > + if (PageAgain(page)) { > + unlock_page(page); > + page_cache_release(page); > + goto again; > + } > + BUG_ON(PageAgain(page)); Such code only appears only in try_to_unuse and do_swap_page. These functions aren't for page caches. I'm confused. Weren't you talking about page cache code? > For any page that's in the page cache that you want to remove, simply > take the page lock, overwrite page->mapping, and the page cache code > will take care of the rest, no PG_again needed. What do you mean by "to remove"? > > For swap pages, one possibility to reserve a special swap entry > > constant (SWAP_AGAIN) and check page->private instead of PageAgain > > check, but I'm not sure if this is a good idea. > > > > #define SWAP_AGAIN ~0UL > > Do you mean pages in the swap cache? Yes. -- IWAMOTO Toshihiro -- 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: aart@kvack.org