On Tue, 18 Feb 2014 14:23:44 -0800 (PST) David Rientjes <rientjes@xxxxxxxxxx> wrote: > On Tue, 18 Feb 2014, Raghavendra K T wrote: > > > Currently max_sane_readahead() returns zero on the cpu having no local memory node > > which leads to readahead failure. Fix the readahead failure by returning > > minimum of (requested pages, 512). Users running application on a memory-less cpu > > which needs readahead such as streaming application see considerable boost in the > > performance. > > > > Result: > > fadvise experiment with FADV_WILLNEED on a PPC machine having memoryless CPU > > with 1GB testfile ( 12 iterations) yielded around 46.66% improvement. > > > > fadvise experiment with FADV_WILLNEED on a x240 machine with 1GB testfile > > 32GB* 4G RAM numa machine ( 12 iterations) showed no impact on the normal > > NUMA cases w/ patch. > > > > Kernel Avg Stddev > > base 7.4975 3.92% > > patched 7.4174 3.26% > > > > Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > > [Andrew: making return value PAGE_SIZE independent] > > Signed-off-by: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> > > So this replaces > mm-readaheadc-fix-readahead-fail-for-no-local-memory-and-limit-readahead-pages.patch > in -mm correct? yup. > > Changes in V6: > > - Just limit the readahead to 2MB on 4k pages system as suggested by Linus. > > and make it independent of PAGE_SIZE. > > > > I'm not sure I understand why we want to be independent of PAGE_SIZE since > we're still relying on PAGE_CACHE_SIZE. Don't you mean to do > > #define MAX_READAHEAD ((512*PAGE_SIZE)/PAGE_CACHE_SIZE) MAX_READAHEAD is in units of "pages". This: +#define MAX_READAHEAD ((512*4096)/PAGE_CACHE_SIZE) means "two megabytes", and is implemented in a way to ensure that MAX_READAHEAD=2mb on 4k pagesize as well as on 64k pagesize. Because we don't want variations in PAGE_SIZE to cause alterations in readahead behavior. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>