Re: [RFC/RFT 0/6] nommu: improve the vma list handling

From: Andrew Morton
Date: Mon Mar 28 2011 - 18:02:04 EST


On Mon, 28 Mar 2011 22:56:41 +0900
Namhyung Kim <namhyung@xxxxxxxxx> wrote:

> When I was reading nommu code, I found that it handles the vma list/tree in
> an unusual way. IIUC, because there can be more than one identical/overrapped
> vmas in the list/tree, it sorts the tree more strictly and does a linear
> search on the tree. But it doesn't applied to the list (i.e. the list could
> be constructed in a different order than the tree so that we can't use the
> list when finding the first vma in that order).
>
> Since inserting/sorting a vma in the tree and link is done at the same time,
> we can easily construct both of them in the same order. And linear searching
> on the tree could be more costly than doing it on the list, it can be
> converted to use the list.
>
> Also, after the commit 297c5eee3724 ("mm: make the vma list be doubly linked")
> made the list be doubly linked, there were a couple of code need to be fixed
> to construct the list properly.
>
> Patch 1/6 is a preparation. It maintains the list sorted same as the tree and
> construct doubly-linked list properly. Patch 2/6 is a simple optimization for
> the vma deletion. Patch 3/6 and 4/6 convert tree traversal to list traversal
> and the rest are simple fixes and cleanups.
>
> Note that I don't have a system to test on, so these are *totally untested*
> patches. There could be some basic errors in the code. In that case, please
> kindly let me know. :)
>
> Anyway, I just compiled them on my x86_64 desktop using this command:
>
> make mm/nommu.o
>
> (Of course this required few of dirty-fixes to proceed)
>
> Also note that these are on top of v2.6.38.
>
> Any comments are welcome.

That seems like a nice set of changes. There isn't much I can do with
them at this tims - hopefully some of the nommu people will be able to
find time to review and test the patches.

(Is there a way in which one can run a nommu kernel on a regular PC? Under
an emulator?)

--
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/