[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20140218143838.aee7a4f0c94ab28b3b04c1e4@linux-foundation.org>
Date: Tue, 18 Feb 2014 14:38:38 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: David Rientjes <rientjes@...gle.com>
Cc: Raghavendra K T <raghavendra.kt@...ux.vnet.ibm.com>,
Fengguang Wu <fengguang.wu@...el.com>,
David Cohen <david.a.cohen@...ux.intel.com>,
Al Viro <viro@...iv.linux.org.uk>,
Damien Ramonda <damien.ramonda@...el.com>,
Jan Kara <jack@...e.cz>, Linus <torvalds@...ux-foundation.org>,
nacc@...ux.vnet.ibm.com, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [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@...gle.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@...ux-foundation.org>
> > [Andrew: making return value PAGE_SIZE independent]
> > Signed-off-by: Raghavendra K T <raghavendra.kt@...ux.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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists