Re: [PATCH] add a clear_pages function to clear pages of higher order

From: David S. Miller <davem_at_davemloft.net>
Date: 2005-03-25 10:13:50
On Thu, 24 Mar 2005 14:49:55 -0800 (PST)
Christoph Lameter <clameter@engr.sgi.com> wrote:

> On Thu, 24 Mar 2005, David S. Miller wrote:
> 
> > > prep_zero_page would use a temporal clear for an order 0 page but a
> > > nontemporal clear for higher order pages.
> >
> > That sounds about right to me.
> >
> > Hmmm, I'm inspired to experiment with this on sparc64 a bit.
> 
> Could you help me fix up this patch replacing the old clear_pages patch?

Sure, I'll play with it.

Meanwhile, here are some numbers.  I changed just the clear_page()
implementation on sparc64 so that it used prefetching and normal
temporal stores.  The machine is a uniprocessor 1.5Ghz Ultra-IIIi,
64K write-through D-cache, 64K I-cache, 1MB L2 cache.  I did 4
timed 'vmlinux' builds after a fresh boot:

BEFORE:
real	9m8.720s
user	8m28.345s
sys	0m32.734s

real	9m2.034s
user	8m28.763s
sys	0m32.512s

real	9m1.848s
user	8m28.970s
sys	0m32.204s

real	9m1.701s
user	8m28.715s
sys	0m32.394s

AFTER:
real	9m2.241s
user	8m16.633s
sys	0m36.451s

real	8m53.739s
user	8m17.165s
sys	0m36.052s

real	8m54.089s
user	8m17.266s
sys	0m36.219s

real	8m54.071s
user	8m17.473s
sys	0m36.073s

So, at the very least, my results agree with D. Mosberger's on IA64.

At the cost of ~4 seconds of system time, we gain ~11 seconds of
user time.

I'm pretty much convinced this is a win.  I wonder if it matters to
do something similar for copy_page*() as well.
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Thu Mar 24 18:21:02 2005

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:37 EST