Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755603AbYK0NM0 (ORCPT ); Thu, 27 Nov 2008 08:12:26 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752381AbYK0NMS (ORCPT ); Thu, 27 Nov 2008 08:12:18 -0500 Received: from ns.suse.de ([195.135.220.2]:34687 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751545AbYK0NMR (ORCPT ); Thu, 27 Nov 2008 08:12:17 -0500 Date: Thu, 27 Nov 2008 14:12:15 +0100 From: Nick Piggin To: =?iso-8859-1?B?VPZy9ms=?= Edwin Cc: Mike Waychison , Ying Han , Ingo Molnar , linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm , David Rientjes , Rohit Seth , Hugh Dickins , Peter Zijlstra , "H. Peter Anvin" Subject: Re: [RFC v1][PATCH]page_fault retry with NOPAGE_RETRY Message-ID: <20081127131215.GQ28285@wotan.suse.de> References: <492DAA24.8040100@google.com> <20081127085554.GD28285@wotan.suse.de> <492E6849.6090205@google.com> <492E8708.4060601@gmail.com> <20081127120330.GM28285@wotan.suse.de> <492E90BC.1090208@gmail.com> <20081127123926.GN28285@wotan.suse.de> <492E97FA.5000804@gmail.com> <20081127130525.GO28285@wotan.suse.de> <492E9C3C.9050507@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <492E9C3C.9050507@gmail.com> User-Agent: Mutt/1.5.9i Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2266 Lines: 57 On Thu, Nov 27, 2008 at 03:10:20PM +0200, T?r?k Edwin wrote: > On 2008-11-27 15:05, Nick Piggin wrote: > > On Thu, Nov 27, 2008 at 02:52:10PM +0200, T?r?k Edwin wrote: > > > >> On 2008-11-27 14:39, Nick Piggin wrote: > >> > >>> And then you also get the advantages of reduced contention on other > >>> shared locks and resources. > >>> > >>> > >> Thanks for the tips, but lets get back to the original question: > >> why don't I see any performance improvement with the fault-retry patches? > >> > > > > Because as you said, your app is CPU bound and page faults aren't needing > > to sleep very much. There is too much contention on the write side, rather > > than too much contention/hold time on the read side. > > > > > > > >> My testcase only compares reads file with mmap, vs. reading files with > >> read, with different number of threads. > >> Leaving aside other reasons why mmap is slower, there should be some > >> speedup by running 4 threads vs 1 thread, but: > >> > >> 1 thread: read:27,18 28.76 > >> 1 thread: mmap: 25.45, 25.24 > >> 2 thread: read: 16.03, 15.66 > >> 2 thread: mmap: 22.20, 20.99 > >> 4 thread: read: 9.15, 9.12 > >> 4 thread: mmap: 20.38, 20.47 > >> > >> The speed of 4 threads is about the same as for 2 threads with mmap, yet > >> with read it scales nicely. > >> And the patch doesn't seem to improve scalability. > >> How can I find out if the patch works as expected? [i.e. verify that > >> faults are actually retried, and that they don't keep the semaphore locked] > >> > > > > Yeah, that workload will be completely contended on the mmap_sem write-side > > if the files are in cache. The google patch won't help at all in that > > case. > > > > Ok. Sorry for hijacking the thread, my testcase is not a good testcase > for what this patch tries to solve. No not at all. It's always really useful to hear any problems like this. I'd like you to keep participating... for one thing I'd like you to test my mmap_sem patch ;) (when I finish it) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/