Re: page fault scalability patch final : i386 tested, x86_64

David S. Miller
2004-08-28T01:11:42Z

On 28 Aug 2004 03:05:42 +0200
Andi Kleen <ak@muc.de> wrote:

> I would expect most programs to be not have that many holes,

Holes are not the issue.

clear_page_tables() doesn't even use the VMA list as a guide
(it actually can't), it just walks the page tables one pgd at a
time, one pmd at a time, one pte at a time. And this has the
worst cache behavior even for simple cases like lat_proc
in lmbench.

Each pgd/pmd scan is a data reading walk of a whole page
(or whatever size the particular page table level blocks
are for the platform, usually they are PAGE_SIZE).
It's very costly.