Re: [PATCH] make radix tree gang lookup faster by using a bitmapsearch

From: Andrew Morton
Date: Sun Aug 28 2005 - 15:41:36 EST


Linus Torvalds <torvalds@xxxxxxxx> wrote:
>
>
>
> On Sun, 28 Aug 2005, James Bottomley wrote:
> >
> > radix_tree_insert() is reliable from IRQ provided you don't try to use
> > radix_tree_preload() and you defined your radix tree gfp flag to be
> > GFP_ATOMIC.
>
> It would be better if it wasn't, though.

There's nothing in radix-tree which forces this: it requires
caller-provided locking.

> I really don't see why we made it irq-safe, and take the hit of disabling
> interrupts in addition to the locking. That's a quite noticeable loss,
> and I don't think it's really a valid thing to insert (or look up) page
> cache entries from interrupts.
>
> What _is_ it that makes us do that, btw? Is it just because we clear the
> writeback tag bits or something? Sad. It makes page lookup noticeably more
> expensive.

Yes, address_space.tree_lock was made IRQ-safe so we could alter the tree's
tags from disk completions. Presumably Nick's lockless pagecache stuff
removes that.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/