Re: follow_page() performance regressions

From: Linus Torvalds
Date: Tue Jul 01 2008 - 11:44:05 EST




On Tue, 1 Jul 2008, Paul Mundt wrote:
>
> So yes, the ZERO_PAGE handling in follow_page() is causing the slow-down here.

I suspect it could be any of:

- actual code generation differences in follow_page() (some SH person
needs to check that)

- some cache issue on SH. ZERO_PAGE is a single page at a fixed virtual
address, while it used to populate the page tables with individual
pages. Normally, this should be *better* for caching, but maybe there
is some conflict? What kind of caches does SH have (virtually indexed?)

- hackbench relying on follow_page() to populate the page tables, which
it no longer does for anonymous areas (using ZERO_PAGE directly
instead).

Again, normally this would speed things up (fewer TLB misses etc), but
if it then causes a new page fault that used to have been covered by
follow_page(), who knows?

What does hackbench actually do? Anybody?

Linus
--
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/