Re: objrmap-core-1 (rmap removal for file mappings to avoid 4:4 in <=16G machines)

Andrea Arcangeli
2004-03-08T23:09:33Z

On Mon, Mar 08, 2004 at 10:28:38PM +0100, Arjan van de Ven wrote:
> > . Basically without
> > this fix it's like 2.6 is running w/o pte-highmem. 700 tasks with 2.7G
> > of shm mapped each would run the box out of zone-normal even with 4:4.
> > With 3:1 100 tasks would be enough. Math is easy:
> >
> > 2.7*1024*1024*1024/4096*8*100/1024/1024/1024
> > 2.7*1024*1024*1024/4096*8*700/1024/1024/1024
>
>
> not saying your patch is not useful or anything,but there is a less
> invasive shortcut possible. Oracle wants to mlock() its shared area, and
> for mlock()'d pages we don't need a pte chain *at all*. So we could get
> rid of a lot of this overhead that way.

I agree that works fine for Oracle, that's becase Oracle is an extreme
special case since most of this shared memory is an I/O cache, this is
not the case of other apps, and those other apps really depends on the
kernel vm paging algorithms for things more than istantiating a pte (or
a pmd if it's a largepage). Other apps can't use mlock. Some of these
apps works closely with oracle too.

dropping pte_chains through mlock was suggested around april 2003
originally by Wli and I didn't like that idea since we really want to
allow swapping if we run short of ram. And it doesn't solve the
scalability slowdown on the 32-way for kernel compiles either.