Messages in this thread | | | Date | Thu, 25 Feb 2010 16:25:54 +0100 | From | Christian Ehrhardt <> | Subject | Re: [PATCH 05/15] readahead: limit readahead size for small memory systems |
| |
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 consumed > 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 => 512KB readahead size > 128MB mem => 128KB readahead size > 32MB mem => 32KB readahead size (minimal) > > Strictly speaking, only read-around size has to be limited. However we > don't bother to seperate read-around size from read-ahead size for now. > > CC: Matt Mackall <mpm@selenic.com> > Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
What I state here is for read ahead in a "multi iozone sequential" setup, I can't speak for real "read around" workloads. So probably your table is fine to cover read-around+read-ahead in one 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 didn't see major trashing or memory pressure impact.
Therefore I would recommend a table like: >=256MB mem => 512KB readahead size 128MB mem => 128KB readahead size 32MB mem => 32KB readahead size (minimal)
--
Grüsse / regards, Christian Ehrhardt IBM Linux Technology Center, System z Linux Performance -- 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/
| |