Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933218AbZJIN70 (ORCPT ); Fri, 9 Oct 2009 09:59:26 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932987AbZJIN7Z (ORCPT ); Fri, 9 Oct 2009 09:59:25 -0400 Received: from mga03.intel.com ([143.182.124.21]:17577 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754144AbZJIN7X (ORCPT ); Fri, 9 Oct 2009 09:59:23 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.44,532,1249282800"; d="scan'208";a="197040134" Date: Fri, 9 Oct 2009 21:58:31 +0800 From: Wu Fengguang To: Martin Schwidefsky Cc: Jens Axboe , Peter Zijlstra , Ehrhardt Christian , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton Subject: Re: [PATCH] mm: make VM_MAX_READAHEAD configurable Message-ID: <20091009135831.GA15425@localhost> References: <1255087175-21200-1-git-send-email-ehrhardt@linux.vnet.ibm.com> <1255090830.8802.60.camel@laptop> <20091009122952.GI9228@kernel.dk> <20091009154950.43f01784@mschwide.boeblingen.de.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20091009154950.43f01784@mschwide.boeblingen.de.ibm.com> User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2448 Lines: 51 On Fri, Oct 09, 2009 at 09:49:50PM +0800, Martin Schwidefsky wrote: > On Fri, 9 Oct 2009 14:29:52 +0200 > Jens Axboe wrote: > > > On Fri, Oct 09 2009, Peter Zijlstra wrote: > > > On Fri, 2009-10-09 at 13:19 +0200, Ehrhardt Christian wrote: > > > > From: Christian Ehrhardt > > > > > > > > On one hand the define VM_MAX_READAHEAD in include/linux/mm.h is just a default > > > > and can be configured per block device queue. > > > > On the other hand a lot of admins do not use it, therefore it is reasonable to > > > > set a wise default. > > > > > > > > This path allows to configure the value via Kconfig mechanisms and therefore > > > > allow the assignment of different defaults dependent on other Kconfig symbols. > > > > > > > > Using this, the patch increases the default max readahead for s390 improving > > > > sequential throughput in a lot of scenarios with almost no drawbacks (only > > > > theoretical workloads with a lot concurrent sequential read patterns on a very > > > > low memory system suffer due to page cache trashing as expected). > > > > > > Why can't this be solved in userspace? > > > > > > Also, can't we simply raise this number if appropriate? Wu did some > > > read-ahead trashing detection bits a long while back which should scale > > > the read-ahead window back when we're low on memory, not sure that ever > > > made it in, but that sounds like a better option than having different > > > magic numbers for each platform. > > > > Agree, making this a config option (and even defaulting to a different > > number because of an arch setting) is crazy. > > The patch from Christian fixes a performance regression in the latest > distributions for s390. So we would opt for a larger value, 512KB seems > to be a good one. I have no idea what that will do to the embedded > space which is why Christian choose to make it configurable. Clearly > the better solution would be some sort of system control that can be > modified at runtime. So how about doing two patches together? - lift default readahead size to around 512KB - add some readahead logic to better support the thrashing case Thanks, Fengguang -- 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/