From: Grant Grundler <grundler@parisc-linux.org>
To: parisc-linux@lists.parisc-linux.org
Subject: [parisc-linux] more cpup.c results
Date: Tue, 4 Jan 2005 23:16:13 -0700 [thread overview]
Message-ID: <20050105061613.GA12455@colo.lackof.org> (raw)
In-Reply-To: <20050105055412.68E06495698@palinux.hppa>
On Tue, Jan 04, 2005 at 10:54:12PM -0700, Grant Grundler wrote:
> add prefetching to copy_user_page_asm
> matches asm now checked into build-tools/cpup.c
I committed a new version of copy_user_page_asm based on
the results of build-tools/cpup.c.
Here's the output from the last set of cpup2 (4regs) run:
grundler <577>while :; do ./cpup2; done
First Loop : min 9247 avg 12037 median 11250
Later Loops : min 5568 avg 7006 median 6906
First Loop : min 9180 avg 12051 median 11244
Later Loops : min 5557 avg 7003 median 6904
First Loop : min 9204 avg 12027 median 11239
Later Loops : min 5556 avg 7002 median 6901
First Loop : min 9197 avg 12032 median 11237
Later Loops : min 5546 avg 6996 median 6901
First Loop : min 9300 avg 12032 median 11225
Later Loops : min 5584 avg 7001 median 6901
It's essentially indistiguishable from cpup3 (6 regs) routine:
grundler <579>while :; do ./cpup3; done
First Loop : min 9188 avg 11992 median 11223
Later Loops : min 5493 avg 7002 median 6874
First Loop : min 9213 avg 11988 median 11224
Later Loops : min 5487 avg 7004 median 6873
First Loop : min 9252 avg 11991 median 11204
Later Loops : min 5487 avg 7004 median 6874
First Loop : min 9228 avg 12021 median 11219
Later Loops : min 5550 avg 7003 median 6879
First Loop : min 9200 avg 11994 median 11215
Later Loops : min 5514 avg 6997 median 6874
Which tells me the L1 cache is accessible in 1 cycle on PA8700.
And if other CPU implementations need 2 cycles, it wouldn't
hurt to commit the 6regs version.
Can folks try this on PA8000 and PA82000 for me?
Check /proc/cpuinfo if you aren't sure what you have.
Should be a simple cut/paste of 4 lines to a shell prompt:
gcc -O2 -o cpup0 cpup.c
gcc -O2 -march=2.0 -DLP64 -o cpup2 cpup.c
gcc -O2 -march=2.0 -DLP64 -DUSE6REGS -o cpup3 cpup.c
for i in 1 2 3 4 5; do echo TEST $i; ./cpup0; ./cpup2; ./cpup3; done
Please post the output to the mailing list along with /proc/cpuinfo.
thanks,
grant
_______________________________________________
parisc-linux mailing list
parisc-linux@lists.parisc-linux.org
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
next parent reply other threads:[~2005-01-05 6:16 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20050105055412.68E06495698@palinux.hppa>
2005-01-05 6:16 ` Grant Grundler [this message]
2005-01-05 8:20 ` [parisc-linux] more cpup.c results Joel Soete
2005-01-05 8:40 ` Ryan Bradetich
2005-01-05 16:02 ` Grant Grundler
[not found] ` <20050107095143.GN18497@tausq.org>
2005-01-09 19:07 ` [parisc-linux] pa_memcpy: 2 small question Joel Soete
2005-01-10 0:13 ` [parisc-linux] " Randolph Chung
2005-01-10 8:44 ` Joel Soete
2005-01-10 8:54 ` Randolph Chung
2005-01-10 17:12 ` Joel Soete
2005-01-10 17:17 ` Grant Grundler
2005-01-10 20:02 ` Stuart Brady
2005-01-11 18:14 ` Joel Soete
2005-01-12 1:49 ` Randolph Chung
2005-02-20 23:44 ` [parisc-linux] revisit copy_user_page_asm microbenchmarks Grant Grundler
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=20050105061613.GA12455@colo.lackof.org \
--to=grundler@parisc-linux.org \
--cc=parisc-linux@lists.parisc-linux.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