Re: Page Faults slower in 2.6.25-rc9 than 2.6.23

From: Hugh Dickins
Date: Wed Apr 30 2008 - 07:34:02 EST


On Wed, 30 Apr 2008, KAMEZAWA Hiroyuki wrote:
> On Tue, 29 Apr 2008 09:10:36 -0400
> "Ross Biro" <rossb@xxxxxxxxxx> wrote:
> > I don't know if this has been noticed before. I was benchmarking my
> > page table relocation code and I noticed that on 2.6.25-rc9 page
> > faults take 10% more time than on 2.6.22. This is using lmbench
> > running on an intel x86_64 system. The good news is that the page
> > table relocation code now only adds a 1.6% slow down to page faults.
>
> It seems lmbench's pagefault program uses 'page fault by READ'.
> Then, this patch affects. (this patch was added at 2.6.24-rc?.)
> ==
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=557ed1fa2620dc119adb86b34c614e152a629a80
> ==
> By it, ZERO_PAGE is not used for page fault in anonymous mapping.

I'd wondered about that one too, but no: lmbench lat_pagefault uses
a shared mmap of an ordinary file (not /dev/zero), so the ZERO_PAGE
changes should have no effect on it whatsoever.

I notice that test is expecting msync(,,MS_INVALIDATE) to do something
it's never done on Linux (a kind of drop caches for the range). We've
never done anything with MS_INVALIDATE, beyond permitting the flag:
I think you find problems however you try to go about implementing
it (and it might even originate from a UNIX which couldn't do shared
mmap coherently). So I wonder if that test is erratic because of it.

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