From: Denis Vlasenko <vda@ilport.com.ua>
To: Benjamin LaHaise <bcrl@kvack.org>, Andi Kleen <ak@muc.de>
Cc: dean gaudet <dean-list-linux-kernel@arctic.org>,
Jeff Garzik <jgarzik@pobox.com>,
linux-kernel@vger.kernel.org
Subject: Re: [RFC] x86-64: Use SSE for copy_page and clear_page
Date: Wed, 1 Jun 2005 09:22:48 +0300 [thread overview]
Message-ID: <200506010922.48521.vda@ilport.com.ua> (raw)
In-Reply-To: <20050531135959.GA16081@kvack.org>
On Tuesday 31 May 2005 16:59, Benjamin LaHaise wrote:
> On Tue, May 31, 2005 at 11:23:58AM +0200, Andi Kleen wrote:
> > fork is only a corner case. The main case is a process allocating
> > memory using brk/mmap and then using it.
I did the tests. I confirm Andi's conclusion that
if you are going to use cleared/copied page immediately,
nt stores are a loss.
However...
> At least for kernel compiles, using non-temporal stores is a slight
> win (a 2-5s improvement on 4m30s). Granted, there seems to be a
> lot of variation in kernel compile times.
>
> A bit more experimentation shows that non-temporal stores plus a
> prefetch of the resulting data is still better than the existing
> routines and only slightly slower than the pure non-temporal version.
> That said, it seems to result in kernel compiles that are on the high
> side of the variations I normally see (4m40s, 4m38s) compared to the
> ~4m30s for an unpatched kernel and ~4m25s-4m30s for the non-temporal
> store version.
My kernel compiles took ~5000000 page clears and ~300000 page copies.
slow (rep stosd/rep movsd), three runs:
real 12m47.530s
user 11m24.523s
sys 1m17.868s
real 12m45.362s
user 11m24.708s
sys 1m18.286s
real 12m45.152s
user 11m25.030s
sys 1m17.985s
mmx_APn/APN (mmx page clear, mmx page copy with nt stores):
real 12m41.737s
user 11m26.104s
sys 1m12.126s
real 12m40.753s
user 11m26.512s
sys 1m11.185s
mmx_APN (mmx page clear with nt stores, mmx page copy with nt stores):
real 12m37.913s
user 11m30.376s
sys 1m4.622s
My kernel compiles on Athlon 2000 MHz were faster too.
--
vda
next prev parent reply other threads:[~2005-06-01 6:23 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-30 18:16 Benjamin LaHaise
2005-05-30 18:45 ` Jeff Garzik
2005-05-30 19:06 ` dean gaudet
2005-05-30 19:11 ` dean gaudet
2005-05-30 19:32 ` Andi Kleen
2005-05-31 8:37 ` Denis Vlasenko
2005-05-31 9:15 ` Denis Vlasenko
2005-05-31 9:23 ` Andi Kleen
2005-05-31 13:59 ` Benjamin LaHaise
2005-06-01 6:22 ` Denis Vlasenko [this message]
2005-06-01 6:47 ` Denis Vlasenko
2005-06-01 7:22 ` michael
2005-06-01 7:48 ` Andi Kleen
2005-06-01 7:48 ` Denis Vlasenko
2005-06-01 21:46 ` dean gaudet
2005-06-01 8:01 ` Nick Piggin
2005-05-30 19:38 ` Andi Kleen
2005-05-30 20:05 ` Michael Thonke
2005-05-30 20:14 ` Benjamin LaHaise
2005-05-30 20:42 ` Michael Thonke
2005-05-31 7:11 ` Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200506010922.48521.vda@ilport.com.ua \
--to=vda@ilport.com.ua \
--cc=ak@muc.de \
--cc=bcrl@kvack.org \
--cc=dean-list-linux-kernel@arctic.org \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®