Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755164AbXLWMWc (ORCPT ); Sun, 23 Dec 2007 07:22:32 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751520AbXLWMWZ (ORCPT ); Sun, 23 Dec 2007 07:22:25 -0500 Received: from smtp105.mail.mud.yahoo.com ([209.191.85.215]:49108 "HELO smtp105.mail.mud.yahoo.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1751355AbXLWMWX (ORCPT ); Sun, 23 Dec 2007 07:22:23 -0500 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com.au; h=Received:X-YMail-OSG:From:To:Subject:Date:User-Agent:Cc:References:In-Reply-To:MIME-Version:Content-Type:Message-Id; b=y/SLSLOHH/m348ZUBNbGTTchQlAvEmRcC9O+ObH6gxuc6csekogo7mbdhhEjrIiHqoI7scJdjgeix7PbUt6B/hflwbJnQL8EDb00Qf/DnL0ShLGOiZk0ls/XLKluP4kTB+0s5zmjGSXwENFVDLWN3zuB+q7oW3BlV0+PeOJTzbg= ; X-YMail-OSG: 1NGnMz0VM1nnqMgGwo0mhaoKRJsFQBuK7V.6.Tw0s89T7hQl06T.W95cr4dK5YMrO1p8IAHG5w-- From: Nick Piggin To: Rik van Riel Subject: Re: [patch 17/20] non-reclaimable mlocked pages Date: Sun, 23 Dec 2007 23:22:08 +1100 User-Agent: KMail/1.9.5 Cc: Lee Schermerhorn , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20071218211539.250334036@redhat.com> <200712212152.19260.nickpiggin@yahoo.com.au> <20071221091753.15a18935@bree.surriel.com> In-Reply-To: <20071221091753.15a18935@bree.surriel.com> MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_wLlbH8q3jODVZPr" Message-Id: <200712232322.08946.nickpiggin@yahoo.com.au> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 27609 Lines: 393 --Boundary-00=_wLlbH8q3jODVZPr Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Saturday 22 December 2007 01:17, Rik van Riel wrote: > On Fri, 21 Dec 2007 21:52:19 +1100 > > Nick Piggin wrote: > > BTW. if you have any workloads that are limited by page reclaim, > > especially unmapped file backed pagecache reclaim, then I have some > > stright-line-speedup patches which you might find interesting (I can > > send them if you'd like to test). > > I am definately interested in those. Sorry it took a few days... So I'm testing throughput for the full pagecache lifecycle, insertion to reclaim. Reading from a sparse file much bigger than memory. On my 2 socket, 8 core Opteron setup: Single dd from a single file: vanilla: 687.01MB/s patched: 1037.17MB/s (151%) 8 dds from a single file: vanilla: 1458.04MB/s patched: 5898.65MB/s (405%) Not sure how well that translates to real world workloads, but it might help somewhere. Admittedly some of the patches are pretty complex... Anyway, have a good christmas and new year :) Thanks, Nick --Boundary-00=_wLlbH8q3jODVZPr Content-Type: application/x-tgz; name="reclaim-speedups.tar.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="reclaim-speedups.tar.gz" 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 --Boundary-00=_wLlbH8q3jODVZPr-- -- 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/