Re: [PATCH/RFC] Shared page tables

Phillip Susi
2006-01-13T15:18:31Z

Shouldn't those kind of applications already be using threads to share
page tables rather than forking hundreds of processes that all mmap()
the same file?

Dave McCracken wrote:
> Here's a new version of my shared page tables patch.
>
> The primary purpose of sharing page tables is improved performance for
> large applications that share big memory areas between multiple processes.
> It eliminates the redundant page tables and significantly reduces the
> number of minor page faults. Tests show significant performance
> improvement for large database applications, including those using large
> pages. There is no measurable performance degradation for small processes.
>
> This version of the patch uses Hugh's new locking mechanism, extending it
> up the page table tree as far as necessary for proper concurrency control.
>
> The patch also includes the proper locking for following the vma chains.
>
> Hugh, I believe I have all the lock points nailed down. I'd appreciate
> your input on any I might have missed.
>
> The architectures supported are i386 and x86_64. I'm working on 64 bit
> ppc, but there are still some issues around proper segment handling that
> need more testing. This will be available in a separate patch once it's
> solid.
>
> Dave McCracken