From: Rik van Riel <riel@conectiva.com.br>
To: Andrea Arcangeli <andrea@suse.de>
Cc: "Martin J. Bligh" <Martin.Bligh@us.ibm.com>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: Scalability problem (kmap_lock) with -aa kernels
Date: Wed, 20 Mar 2002 14:41:14 -0300 (BRT) [thread overview]
Message-ID: <Pine.LNX.4.44L.0203201437190.2181-100000@imladris.surriel.com> (raw)
In-Reply-To: <20020320173959.F4268@dualathlon.random>
On Wed, 20 Mar 2002, Andrea Arcangeli wrote:
> On Wed, Mar 20, 2002 at 08:14:31AM -0800, Martin J. Bligh wrote:
> > Looking at the code for map_new_virtual, note that we start at where
> > we left off before: last_pkmap_nr = (last_pkmap_nr + 1) & LAST_PKMAP_MASK;
> > So we don't scan the whole array every time - we just walk through it
> > one step (on most instances, assuming most of pool is short term use).
>
> and if we didn't find anything we call flush_all_zero_pkmaps that does a
> whole O(N) scan on the pool to try to release the entries that aren't
> pinned and then we try again. In short if we increase the pool size, we
> linearly increase the time we spend on it (actually more than linearly
> because we'll run out of l1/l2/l3 while the pool size increases)
That suggests we'd want a pool size of 1 to be O(1) buzzword
compliant ;)
Going for a smaller pool just doesn't make sense if you want
the mappings to be cached, it could even result in more processes
_sleeping_ on kmap entries to be freed.
Please make a choice, do you want kmaps to be cached or would
you be content to have just cpu-local or maybe process-local
kmaps and get rid of the global kmap pool ?
regards,
Rik
--
Bravely reimplemented by the knights who say "NIH".
http://www.surriel.com/ http://distro.conectiva.com/
next prev parent reply other threads:[~2002-03-20 17:41 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-03-20 16:14 Scalability problem (kmap_lock) with -aa kernels Martin J. Bligh
2002-03-20 16:39 ` Andrea Arcangeli
2002-03-20 17:41 ` Rik van Riel [this message]
2002-03-20 18:26 ` Andrea Arcangeli
2002-03-20 19:35 ` Rik van Riel
2002-03-20 18:16 ` Martin J. Bligh
2002-03-20 18:29 ` Martin J. Bligh
2002-03-20 18:40 ` Andrea Arcangeli
2002-03-20 18:15 ` Hugh Dickins
2002-03-20 18:56 ` Andrea Arcangeli
-- strict thread matches above, loose matches on Subject: below --
2002-03-19 4:25 Martin J. Bligh
2002-03-19 8:58 ` Rik van Riel
2002-03-20 1:40 ` Andrea Arcangeli
2002-03-20 6:15 ` Martin J. Bligh
2002-03-20 12:30 ` Andrea Arcangeli
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=Pine.LNX.4.44L.0203201437190.2181-100000@imladris.surriel.com \
--to=riel@conectiva.com.br \
--cc=Martin.Bligh@us.ibm.com \
--cc=andrea@suse.de \
--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;
as well as URLs for NNTP newsgroup(s).