From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail144.messagelabs.com (mail144.messagelabs.com [216.82.254.51]) by kanga.kvack.org (Postfix) with ESMTP id 6136C6B01F1 for ; Thu, 26 Aug 2010 04:51:23 -0400 (EDT) Date: Thu, 26 Aug 2010 09:51:05 +0100 From: Mel Gorman Subject: Re: compaction: trying to understand the code Message-ID: <20100826085105.GB20944@csn.ul.ie> References: <20100819160006.GG6805@barrios-desktop> <20100820053447.GA13406@localhost> <20100820093558.GG19797@csn.ul.ie> <20100822153121.GA29389@barrios-desktop> <20100822232316.GA339@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: Sender: owner-linux-mm@kvack.org To: Minchan Kim Cc: Iram Shahzad , Wu Fengguang , Andrew Morton , linux-mm@kvack.org, KOSAKI Motohiro List-ID: On Mon, Aug 23, 2010 at 06:10:02PM +0900, Minchan Kim wrote: > On Mon, Aug 23, 2010 at 12:03 PM, Iram Shahzad > wrote: > >> Iram. How do you execute test_app? > >> > >> 1) synchronous test > >> 1.1 start test_app > >> 1.2 wait test_app job done (ie, wait memory is fragment) > >> 1.3 echo 1 > /proc/sys/vm/compact_memory > >> > >> 2) asynchronous test > >> 2.1 start test_app > >> 2.2 not wait test_app job done > >> 2.3 echo 1 > /proc/sys/vm/compact_memory(Maybe your test app and > >> compaction were executed parallel) > > > > It's synchronous. > > First I confirm that the test app has completed its fragmentation work > > by looking at the printf output. Then only I run echo 1 > > > /proc/sys/vm/compact_memory. > > > > After completing fragmentation work, my test app sleeps in a useless while > > loop > > which I think is not important. > > Thanks. It seems to be not any other processes which is entering > direct reclaiming. > I tested your test_app but failed to reproduce your problem. > Actually I suspected some leak of decrease NR_ISOLATE_XXX but my > system worked well. > And I couldn't find the point as just code reviewing. If it really > was, Mel found it during his stress test. > My test machines have been tied up which has delayed me reviewing these patches. I reran standardish compaction stress tests and didn't spot a NR_ISOLATE_XXX. While none of those tests depend on the proc trigger, they share the core logic so I don't think we're looking at a leak issue and all the difficulty is in too_many_isolated() -- Mel Gorman Part-time Phd Student Linux Technology Center University of Limerick IBM Dublin Software Lab -- 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