Over the past couple of weeks we've been doing some basic performance
testing of the rmap overhead. For this I put together a rollup patch
against 2.5.26 that includes what I'd consider basic rmap. As a reference,
I'm also posting the patch here, so people can see what it consists of.
The list of patches included are:
minrmap The original minimal rmap patch
truncate_leak A bug fix
dmc_optimize Don't allocate pte_chain for one mapping
vmstat Add rmap statistics for vmstat
ptechain slab Allocate pte_chains from a slab
daniel_rmap_speedup Use hashed pte_chain locks
akpm_rmap_speedup Make pte_chain hold multiple pte ptrs
Again, this patch applies against 2.5.26, and clearly does not include many
of the recent rmap optimizations.
Dave McCracken IBM Linux Base Kernel Team 1-512-838-3059
dmccr@... T/L 678-3059
From: Andrew Morton <akpm@di...> - 2002-09-17 21:17:15
Andrew Morton wrote:
> Dave McCracken wrote:
> > ...
> > daniel_rmap_speedup Use hashed pte_chain locks
> This one was shown to be a net loss on the NUMA-Q's.
But thanks for testing - I forgot to say that ;)
rmap's overhead manifests with workloads which are setting
up and tearing doen pagetables a lot.
fork/exec/exit/pagefaults/munmap/etc. I guess forking servers
On Tue, Sep 17, 2002 at 02:17:05PM -0700, Andrew Morton wrote:
> rmap's overhead manifests with workloads which are setting
> up and tearing doen pagetables a lot.
> fork/exec/exit/pagefaults/munmap/etc. I guess forking servers
> may hurt.
Hmm, so we gave up one of our advantages: fork() as fast as
thread creation in other OSes.
Or did someone benchmark shell script execution on 2.4.x, 2.5.x,
a later rmap-Kernel and compare that all with other Unices around?
Science is what we can tell a computer. Art is everything else. --- D.E.Knuth