From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: linuxppc-embedded@ozlabs.org, Dan Malek <dan@embeddedalley.com>
Subject: Re: [PATCH 2.6.14] mm: 8xx MM fix for
Date: Wed, 9 Nov 2005 10:04:50 -0200 [thread overview]
Message-ID: <20051109120450.GB8588@logos.cnet> (raw)
In-Reply-To: <1131396000.4652.24.camel@gaston>
On Tue, Nov 08, 2005 at 07:39:59AM +1100, Benjamin Herrenschmidt wrote:
<snip>
> I think the current code, even with your fix, is sub-optimal. But of
> course, the only way to be sure is to do real measurements
Hi folks,
I've written a simple app to estimate pagefault latency using gettimeofday().
Can be found at http://hera.kernel.org/~marcelo/measurefault/
/* This simple program attemps to estimate how long a pagefault takes.
* It does that by mmaping() /tmp/latency-test, and touching a page.
* Time measurement is done with gettimeofday() before and after the
* data touch.
*
* In the hope to have a more precise measurement two values are subtracted
* from the pagefault time delta:
*
* - Estimated time between two subsequent gettimeofday() calls, average
* of 100 runs (this average is around 8ms on 48Mhz PPC 8xx,
* 0ms on 1Ghz Pegasos G4)
*
* - Time taken to touch the data after its TLB cached, aka second run.
* This takes 1 and 2ms on 8xx (it varies) and 0ms on 1Ghz Pegasos.
*/
And results with 48Mhz 855T, comparing internal v2.4.17, vanilla v2.6.14
and v2.6.14-jump-direct (jumping directly to handle_page_fault if the
pte is zeroed).
Each "avg:" entry is an average of 100 "measure-fault-latency.c" runs.
2.6's root is mounted on NFS.
** 2.6.14 DataTLBHandler jump direct ("two exceptions"):
first batch:
avg: 287ms
avg: 287ms
avg: 287ms
avg: 287ms
avg: 287ms
second batch:
avg: 287ms
avg: 287ms
avg: 287ms
avg: 287ms
avg: 287ms
** 2.6.14 vanilla ("three exceptions"):
first batch:
avg: 288ms
avg: 285ms
avg: 287ms
avg: 287ms
avg: 288ms
second batch:
avg: 288ms
avg: 288ms
avg: 287ms
avg: 287ms
avg: 287ms
** 2.4.17 (root on RAMDISK):
avg: 309ms
avg: 313ms
avg: 312ms
avg: 311ms
avg: 310ms
The v2.6.14's kernel jump-direct is more consistent at 287ms,
while vanilla 2.6.14 oscillates between 285 and 288ms, but
no significant difference between the two.
v2.6's fault handling is clearly faster than 2.4's (note that the compiler
is also different, 2.4 uses gcc 2.95 and 2.6 gcc 3.3).
next prev parent reply other threads:[~2005-11-09 17:25 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-30 20:03 [PATCH 2.6.14] mm: 8xx MM fix for Pantelis Antoniou
2005-10-30 21:16 ` Benjamin Herrenschmidt
2005-11-01 17:25 ` Marcelo Tosatti
2005-11-01 22:55 ` Pantelis Antoniou
2005-11-02 9:50 ` Marcelo Tosatti
2005-11-07 8:44 ` Marcelo Tosatti
2005-11-07 14:35 ` Dan Malek
2005-11-07 10:27 ` Marcelo Tosatti
2005-11-07 14:39 ` Pantelis Antoniou
2005-11-07 14:58 ` David Jander
2005-11-07 20:39 ` Benjamin Herrenschmidt
2005-11-07 17:02 ` Marcelo Tosatti
2005-11-07 20:50 ` Pantelis Antoniou
2005-11-08 0:44 ` Dan Malek
2005-11-09 12:04 ` Marcelo Tosatti [this message]
2005-11-10 7:48 ` David Jander
2005-11-10 8:18 ` David Jander
-- strict thread matches above, loose matches on Subject: below --
2005-11-07 14:32 Joakim Tjernlund
2005-11-07 10:16 ` Marcelo Tosatti
2005-11-07 15:51 ` Tom Rini
2005-11-07 16:02 ` Dan Malek
2005-11-07 15:44 Joakim Tjernlund
2005-11-07 11:12 ` Marcelo Tosatti
2005-11-07 18:14 Joakim Tjernlund
2005-11-07 18:22 ` Tom Rini
2005-11-08 0:46 ` Dan Malek
2005-11-07 18:37 Joakim Tjernlund
2005-11-12 19:28 ` Marcelo Tosatti
2005-11-13 12:47 ` Joakim Tjernlund
2005-11-16 8:39 ` Marcelo Tosatti
2005-11-30 17:34 Joakim Tjernlund
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=20051109120450.GB8588@logos.cnet \
--to=marcelo.tosatti@cyclades.com \
--cc=benh@kernel.crashing.org \
--cc=dan@embeddedalley.com \
--cc=linuxppc-embedded@ozlabs.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;
as well as URLs for NNTP newsgroup(s).