From: James Bottomley <James.Bottomley@SteelEye.com>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Andrew Morton <akpm@osdl.org>,
Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] make radix tree gang lookup faster by using a bitmap search
Date: Mon, 29 Aug 2005 10:01:58 -0500 [thread overview]
Message-ID: <1125327718.5089.28.camel@mulgrave> (raw)
In-Reply-To: <4312830C.8000308@yahoo.com.au>
On Mon, 2005-08-29 at 13:37 +1000, Nick Piggin wrote:
> But the page tree is indexed by file offset rather than virtual
> address, and we try to span the file's pagecache with the smallest
> possible tree. So it will tend to make the trees taller.
Well, OK, I concede that one.
However, my contention that it's better to do it this way is rooted in
the simplicity argument: a bitmap lookup obviously can move straight to
the slot you're looking for. However, we've always had that loop (which
wastes time) because no-one could get the bitmap code right. The reason
for this is that variable length bitmaps are hard to manage and
introduce a lot of complexity into what should really be simple code.
I think simplicity is better (for ease of understanding and maintenance)
unless it has an unacceptable cost. In this case, that cost would be
shown by the benchmarks. If what I've done is slower on 32 bits than
what we had previously then I'll recode it all with variable length
bitmaps so we can increase the 32 bin index bits to 6 again.
> > Well .. OK .. If the benchmarks say I've slowed us down on 32 bits, I'll
> > put the variable sizing back in the tag array.
> I'm curious: what do the benchmarks say about your gang lookup?
That's why I tried to cc the mm list; I'm not sure what you use for
benchmarks of this type of thing. My guess would be a mmap of a file,
read followed by some writes, then munmap again?
James
next prev parent reply other threads:[~2005-08-29 15:07 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-27 16:26 [PATCH] make radix tree gang lookup faster by using a bitmap search James Bottomley
2005-08-27 17:53 ` Andrew Morton
2005-08-28 19:43 ` James Bottomley
2005-08-28 20:00 ` Linus Torvalds
2005-08-28 20:39 ` Andrew Morton
2005-08-29 0:45 ` James Bottomley
2005-08-29 0:52 ` Andrew Morton
2005-08-29 1:19 ` James Bottomley
2005-08-29 1:35 ` Andrew Morton
2005-08-29 3:26 ` James Bottomley
2005-08-29 3:37 ` Nick Piggin
2005-08-29 3:54 ` Trond Myklebust
2005-08-29 13:16 ` Luben Tuikov
2005-08-29 15:01 ` James Bottomley [this message]
[not found] ` <20050829164144.GC9508@localhost.localdomain>
2005-08-30 0:56 ` Nick Piggin
2005-08-30 1:54 ` Andrew Morton
2005-08-30 2:46 ` James Bottomley
2005-08-30 2:53 ` Nick Piggin
[not found] ` <20050830052405.GB20843@localhost.localdomain>
2005-08-30 13:06 ` Nick Piggin
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=1125327718.5089.28.camel@mulgrave \
--to=james.bottomley@steeleye.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nickpiggin@yahoo.com.au \
/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