From: "David S. Miller" <davem@redhat.com>
To: davidm@hpl.hp.com, davidm@napali.hpl.hp.com
Cc: hugh@veritas.com, linux-kernel@vger.kernel.org, andrea@suse.de,
torvalds@transmeta.com
Subject: Re: Q: PREFETCH_STRIDE/16
Date: Thu, 23 May 2002 10:00:58 -0700 (PDT) [thread overview]
Message-ID: <20020523.100058.12299944.davem@redhat.com> (raw)
In-Reply-To: <15597.8361.533679.563624@napali.hpl.hp.com>
From: David Mosberger <davidm@napali.hpl.hp.com>
Date: Thu, 23 May 2002 10:02:33 -0700
Sounds like something worth experimenting with. I doubt you could
really avoid (effectively) flushing the caches, but even if there are
just a few zero bits in the bitmap at the time of the tear-down, a
fair amount of time could be saved.
You'd be surprised how many 0 bits there will be in the average
process. Even if you bring in all of emacs, glibc, X11R6 libs
etc. and the anonymous memory, there are still a HUGE portion of the
address space totally unused.
But like you said, worth experimenting with :-) First test would be,
start with 1 unsigned long as the bitmask in mm_context_t. Just
implement the bit setting part. Then at exit() count how many 0 bits
are left, record this into some counter table which has one counter
for 0 --> N_BITS_IN_LONG. Make some debug /proc thing which spits the
table out. (hint: at fork, clear out the child's bitmask before
copy_page_range is run for best results :-)
You can use this to do vaious things and see how much there is to gain
by going to two unsigned longs, three, etc.
Then you can hack up the actual clear_page_tables optimization (to
start) and measure the result.
next prev parent reply other threads:[~2002-05-23 17:16 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-23 15:12 Q: PREFETCH_STRIDE/16 Hugh Dickins
2002-05-23 16:26 ` David Mosberger
2002-05-23 16:21 ` David S. Miller
2002-05-23 16:43 ` David Mosberger
2002-05-23 16:34 ` David S. Miller
2002-05-23 17:02 ` David Mosberger
2002-05-23 17:00 ` David S. Miller [this message]
2002-05-23 18:32 ` David Mosberger
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=20020523.100058.12299944.davem@redhat.com \
--to=davem@redhat.com \
--cc=andrea@suse.de \
--cc=davidm@hpl.hp.com \
--cc=davidm@napali.hpl.hp.com \
--cc=hugh@veritas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.com \
/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