From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Ehrhardt Subject: Re: [PATCH 05/15] readahead: limit readahead size for small memory systems Date: Thu, 25 Feb 2010 16:25:54 +0100 Message-ID: <4B869682.9010709@linux.vnet.ibm.com> References: <20100224031001.026464755@intel.com> <20100224031054.307027163@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Cc: Andrew Morton , Jens Axboe , Matt Mackall , Chris Mason , Peter Zijlstra , Clemens Ladisch , Olivier Galibert , Vivek Goyal , Nick Piggin , Linux Memory Management List , linux-fsdevel@vger.kernel.org, LKML To: Wu Fengguang Return-path: In-Reply-To: <20100224031054.307027163@intel.com> Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org Wu Fengguang wrote: > When lifting the default readahead size from 128KB to 512KB, > make sure it won't add memory pressure to small memory systems. > > For read-ahead, the memory pressure is mainly readahead buffers consum= ed > by too many concurrent streams. The context readahead can adapt > readahead size to thrashing threshold well. So in principle we don't > need to adapt the default _max_ read-ahead size to memory pressure. > > For read-around, the memory pressure is mainly read-around misses on > executables/libraries. Which could be reduced by scaling down > read-around size on fast "reclaim passes". > > This patch presents a straightforward solution: to limit default > readahead size proportional to available system memory, ie. > 512MB mem =3D> 512KB readahead size > 128MB mem =3D> 128KB readahead size > 32MB mem =3D> 32KB readahead size (minimal) > > Strictly speaking, only read-around size has to be limited. However w= e > don't bother to seperate read-around size from read-ahead size for now= . > > CC: Matt Mackall > Signed-off-by: Wu Fengguang What I state here is for read ahead in a "multi iozone sequential"=20 setup, I can't speak for real "read around" workloads. So probably your table is fine to cover read-around+read-ahead in one=20 number. I have tested 256MB mem systems with 512kb readahead quite a lot. On those 512kb is still by far superior to smaller readaheads and I=20 didn't see major trashing or memory pressure impact. Therefore I would recommend a table like: >=3D256MB mem =3D> 512KB readahead size 128MB mem =3D> 128KB readahead size 32MB mem =3D> 32KB readahead size (minimal) --=20 Gr=FCsse / regards, Christian Ehrhardt IBM Linux Technology Center, System z Linux Performance -- 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