From: Andrea Arcangeli <andrea@suse.de>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: Rik van Riel <riel@conectiva.com.br>,
Momchil Velikov <velco@fadata.bg>,
John Stoffel <stoffel@casc.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Radix-tree pagecache for 2.5
Date: Thu, 31 Jan 2002 20:14:12 +0100 [thread overview]
Message-ID: <20020131201412.L1309@athlon.random> (raw)
In-Reply-To: <20020131190202.I1309@athlon.random> <Pine.LNX.4.33.0201311031180.1637-100000@penguin.transmeta.com>
In-Reply-To: <Pine.LNX.4.33.0201311031180.1637-100000@penguin.transmeta.com>; from torvalds@transmeta.com on Thu, Jan 31, 2002 at 10:32:35AM -0800
On Thu, Jan 31, 2002 at 10:32:35AM -0800, Linus Torvalds wrote:
>
> On Thu, 31 Jan 2002, Andrea Arcangeli wrote:
> > >
> > > The radix tree is basically O(1), because the maximum depth of a 7-bit
> > > radix tree is just 5. The index is only a 32-bit number.
> >
> > then it will break on archs with more ram than 1<<(32+PAGE_CACHE_SHIFT).
>
> NO.
>
> The radix tree is an index lookup mechanism.
>
> The index is 32 bits.
>
> That's true regardless of how much RAM you have.
then there must be some collision handling that raise the complexity to
O(N) like with the hashtable, if the depth is fixed and if 32bits of
index are enough regardless of how many entries are in the tree.
I'm confused by the comments I heard so far, but well I don't want to
bother you further until I have clear how this data structure is layed
out exactly. I mainly wanted to give a warning, to be sure some point is
evalulated properly before integration.
> Considering that the radix tree can _remove_ 8 bytes per "struct page", I
> suspect you potentially win more memory than you lose.
of course if we add kmalloc to the pagecache code we can drop such part
from the page structure with the hashtable too.
Andrea
next prev parent reply other threads:[~2002-01-31 19:15 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-29 15:54 [PATCH] Radix-tree pagecache for 2.5 Christoph Hellwig
2002-01-29 19:27 ` Linus Torvalds
2002-01-29 21:40 ` David S. Miller
2002-01-29 22:07 ` Linus Torvalds
2002-01-29 23:01 ` Rik van Riel
2002-01-29 23:32 ` Alan Cox
2002-01-29 23:35 ` Rik van Riel
2002-01-30 3:00 ` Daniel Phillips
2002-01-31 23:44 ` Anton Blanchard
2002-02-01 0:34 ` Alan Cox
2002-02-01 11:04 ` Rik van Riel
2002-02-01 11:33 ` Arjan van de Ven
2002-02-02 18:57 ` Richard Henderson
2002-02-02 21:15 ` Rik van Riel
2002-01-29 23:02 ` Momchil Velikov
2002-01-29 23:33 ` Linus Torvalds
2002-01-29 23:45 ` Christoph Hellwig
2002-01-30 21:25 ` Momchil Velikov
2002-01-30 22:05 ` John Stoffel
2002-01-30 22:15 ` Momchil Velikov
2002-01-31 2:33 ` Andrea Arcangeli
2002-01-31 13:58 ` Rik van Riel
2002-01-31 14:36 ` Andrea Arcangeli
2002-01-31 15:32 ` Alan Cox
2002-01-31 16:39 ` William Lee Irwin III
2002-01-31 17:19 ` William Lee Irwin III
2002-01-31 17:21 ` Andrea Arcangeli
2002-01-31 17:50 ` William Lee Irwin III
2002-01-31 17:46 ` Linus Torvalds
2002-01-31 18:02 ` Andrea Arcangeli
2002-01-31 18:32 ` Linus Torvalds
2002-01-31 18:38 ` Rik van Riel
2002-01-31 18:49 ` Linus Torvalds
2002-01-31 19:09 ` Momchil Velikov
2002-01-31 19:26 ` Andrew Morton
2002-01-31 21:12 ` Momchil Velikov
2002-01-31 19:14 ` Andrea Arcangeli [this message]
2002-01-31 19:23 ` Linus Torvalds
2002-01-31 21:34 ` Ingo Molnar
2002-01-31 23:12 ` Anton Blanchard
2002-01-31 23:55 ` Andrea Arcangeli
2002-02-01 0:01 ` David S. Miller
2002-02-16 16:20 ` Andrea Arcangeli
2002-02-01 3:56 ` Anton Blanchard
2002-02-01 6:32 ` Momchil Velikov
2002-02-01 18:38 ` Anton Blanchard
2002-02-01 9:04 ` Ingo Molnar
2002-02-01 7:59 ` Momchil Velikov
2002-02-01 10:29 ` Ingo Molnar
2002-02-01 9:01 ` Momchil Velikov
2002-02-01 9:10 ` David S. Miller
2002-02-01 9:07 ` David S. Miller
2002-02-01 9:13 ` Momchil Velikov
2002-02-01 17:06 ` Linus Torvalds
2002-02-01 18:29 ` Jeff Garzik
2002-02-01 18:44 ` arjan
2002-02-01 19:47 ` Jeff Garzik
2002-02-02 15:39 ` Rik van Riel
2002-02-05 14:21 ` Pavel Machek
2002-02-05 18:45 ` Rik van Riel
2002-02-05 20:30 ` Eric Dumazet
2002-02-05 20:46 ` Pavel Machek
2002-02-06 9:07 ` Daniel Phillips
2002-02-05 9:19 ` Zdenek Kabelac
2002-02-01 23:49 ` Ingo Molnar
2002-02-01 14:44 ` Andrea Arcangeli
2002-02-01 14:59 ` Momchil Velikov
2002-02-01 17:03 ` Ingo Molnar
2002-02-01 15:26 ` Momchil Velikov
2002-02-01 23:45 ` Ingo Molnar
2002-01-31 10:41 ` Josh MacDonald
2002-01-31 14:00 ` Rik van Riel
2002-01-31 14:21 ` Momchil Velikov
2002-01-30 22:22 ` Christoph Hellwig
2002-01-30 3:02 ` Daniel Phillips
2002-01-29 23:00 ` William Lee Irwin III
-- strict thread matches above, loose matches on Subject: below --
2002-02-02 19:23 rwhron
2002-02-03 14:31 ` chris
2002-02-03 23:33 ` Momchil Velikov
2002-02-04 3:59 ` rwhron
2002-02-06 2:04 ` rwhron
2002-02-06 11:44 ` Rik van Riel
2002-02-06 21:34 rwhron
2002-02-06 21:37 ` Rik van Riel
2002-02-06 22:06 ` rwhron
2002-02-07 11:32 ` Daniel Phillips
2002-02-07 11:32 ` Daniel Phillips
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=20020131201412.L1309@athlon.random \
--to=andrea@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=riel@conectiva.com.br \
--cc=stoffel@casc.com \
--cc=torvalds@transmeta.com \
--cc=velco@fadata.bg \
/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