Re: mmotm 2009-02-02-17-12 uploaded (x86/nopmd etc.)

From: Ingo Molnar
Date: Tue Feb 03 2009 - 16:26:19 EST



* Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Tue, 3 Feb 2009 20:18:04 +0100
> Ingo Molnar <mingo@xxxxxxx> wrote:
>
> >
> > * Randy Dunlap <randy.dunlap@xxxxxxxxxx> wrote:
> >
> > > akpm@xxxxxxxxxxxxxxxxxxxx wrote:
> > > > The mm-of-the-moment snapshot 2009-02-02-17-12 has been uploaded to
> > > >
> > > > http://userweb.kernel.org/~akpm/mmotm/
> > > >
> > > > and will soon be available at
> > > >
> > > > git://git.zen-sources.org/zen/mmotm.git
> > >
> > >
> > > There seems to be some kind of #include hell here. I moved a few lines
> > > around in include/asm-generic/pgtable-nopmd.h & that makes the build
> > > get further, but it still has header problems (BUG() is undefined).
> >
> > problem caused by which commit?
> >
>
> mm-unify-some-pmd_-functions-and-move-them-in-a-distinct-include.patch
>
> This is getting painful.

the include file spaghetti is ... interesting there, and it's historic.

I could blame it on highmem, PAE or paravirt - but i'll only blame it on
paravirt for now because those developers are still around! ;-)

Jeremy, any ideas how to reduce the historic dependency mess in that area?
I think we should go on three routes at once:

- agressive splitup and separation of type definitions from method
declaration (+ inline definitions). The spinlock_types.h / spinlock.h
splitup was really nice in solving such dependency problems.

- uninlining of methods: instead of macro-ing them - wherever possible.
It's really hard to mess up type + externs headers - while headers with
inlines and macros mixed in get painful quickly.

- removal of spurious pile of dozens of #include lines in header files.

If anyone sends such patches i could try them on the -tip build machinery
and help shake out collateral damage - which there will be for sure.

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