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