lkml.org 
[lkml]   [2014]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH V6 ] mm readahead: Fix readahead fail for memoryless cpu and limit readahead pages
On Tue, 18 Feb 2014 14:23:44 -0800 (PST) David Rientjes <rientjes@google.com> 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@linux-foundation.org>
> > [Andrew: making return value PAGE_SIZE independent]
> > Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
>
> 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.


\
 
 \ /
  Last update: 2014-02-19 02:01    [W:0.098 / U:0.824 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site