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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.