Re: [PATCH V6 ] mm readahead: Fix readahead fail for memoryless cpu and limit readahead pages
From: David Rientjes
Date: Tue Feb 18 2014 - 17:23:54 EST
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?
> ---
> I would like to thank Honza, David for their valuable suggestions and
> patiently reviewing the patches.
>
> 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)
instead?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/