[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0706040622410.30231@alien.or.mcafeemobile.com>
Date: Mon, 4 Jun 2007 06:30:41 -0700 (PDT)
From: Davide Libenzi <davidel@...ilserver.org>
To: Andrew Morton <akpm@...ux-foundation.org>
cc: Ingo Molnar <mingo@...e.hu>, Eric Dumazet <dada1@...mosbay.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Ulrich Drepper <drepper@...hat.com>
Subject: Re: [patch 1/2] ufd v1 - unsequential O(1) fdmap core
On Mon, 4 Jun 2007, Davide Libenzi wrote:
> On Mon, 4 Jun 2007, Andrew Morton wrote:
>
> > a) Were IDR trees evaluated and if so, why were they rejected?
> >
> > b) it's a bit disappointing that this new allocator is only usable for
> > one specific application. We have a *lot* of places in the kernel which
> > want allocators of this type. Many of them are open-coded and crappy.
> > Some use IDR trees.
> >
> > If we're going to go and add a complete new allocator, it would be
> > good to position it as a library thing if poss.
>
> Thank you for pointing me to that, Andrew. I didn't know about it (IDR
> trees).
> It does not fit AFAICS. Locking should be handled extarnally (the files
> struct), must be RCU friendly (proper barriers) since it's used in
> lockless code, and must have flags associated to an allocation. And I'm
> leaving out the O(1) part, that for something like this, is just silly not
> to have it. This is really an array.
What we could do (if we want to cut code), is to add a bitmap to fdmap,
add a flag "FDMAP_SEQUENTIAL to fdmap_newfd(), and cut-out the old fdtable
code by using fdmap for everything. We'd still need two fdmaps though,
since allocation spaces are far apart (and one of them is random).
Basically all the code of fs/file.c will go.
- Davide
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists