From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Wed, 31 May 2006 07:43:50 -0700 (PDT) From: Linus Torvalds Subject: Re: [rfc][patch] remove racy sync_page? In-Reply-To: <447D9A41.8040601@yahoo.com.au> Message-ID: References: <447AC011.8050708@yahoo.com.au> <20060529121556.349863b8.akpm@osdl.org> <447B8CE6.5000208@yahoo.com.au> <20060529183201.0e8173bc.akpm@osdl.org> <447BB3FD.1070707@yahoo.com.au> <447BD31E.7000503@yahoo.com.au> <447BD63D.2080900@yahoo.com.au> <447CE43A.6030700@yahoo.com.au> <447D9A41.8040601@yahoo.com.au> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org Return-Path: To: Nick Piggin Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, mason@suse.com, andrea@suse.de, hugh@veritas.com, axboe@suse.de List-ID: On Wed, 31 May 2006, Nick Piggin wrote: > > Now having a mechanism for a task to batch up requests might be a > good idea. Eg. > > plug(); > submit reads > unplug(); > wait for page What do you think we're _talking_ about? What do you think my example of sys_readahead() was all about? WE DO HAVE EXACTLY THAT MECHANISM. IT'S CALLED PLUGGING! > I'd think this would give us the benefits of corse grained (per-queue) > plugging and more (e.g. it works when the request queue isn't empty). > And it would be simpler because the unplug point is explicit and doesn't > need to be kicked by lock_page or wait_on_page What do you think plugging IS? It's _exactly_ what you're talking about. And yes, we used to have explicit unplugging (a long long long time ago), and IT SUCKED. People would forget, but even more importantly, people would do it even when not needed because they didn't have a good place to do it because the waiter was in a totally different path. The reason it's kicked by wait_on_page() is that is when it's needed. Linus -- 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