From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Sun, 30 Apr 2006 13:39:06 +0200 From: Jens Axboe Subject: Re: Lockless page cache test results Message-ID: <20060430113905.GF23137@suse.de> References: <20060426135310.GB5083@suse.de> <20060426095511.0cc7a3f9.akpm@osdl.org> <20060426174235.GC5002@suse.de> <20060426111054.2b4f1736.akpm@osdl.org> <20060426114737.239806a2.akpm@osdl.org> <20060426184945.GL5002@suse.de> <20060428140146.GA4657648@melbourne.sgi.com> <44548834.5050204@yahoo.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <44548834.5050204@yahoo.com.au> Sender: owner-linux-mm@kvack.org Return-Path: To: Nick Piggin Cc: David Chinner , Christoph Lameter , Andrew Morton , linux-kernel@vger.kernel.org, npiggin@suse.de, linux-mm@kvack.org List-ID: On Sun, Apr 30 2006, Nick Piggin wrote: > @@ -407,19 +422,10 @@ > int error = radix_tree_preload(gfp_mask & ~__GFP_HIGHMEM); > > if (error == 0) { > - write_lock_irq(&mapping->tree_lock); > - error = radix_tree_insert(&mapping->page_tree, offset, page); > - if (!error) { > - page_cache_get(page); > - SetPageLocked(page); > - page->mapping = mapping; > - page->index = offset; > - mapping->nrpages++; > - pagecache_acct(1); > - } > - write_unlock_irq(&mapping->tree_lock); > + error = __add_to_page_cache(page, mapping, offset); > radix_tree_preload_end(); > } > + > return error; You killed a lock too many there. I'm sure it'd help scalability, though :-) -- Jens Axboe -- 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