Re: RFC: cleaning up the in-kernel headers

Christoph Lameter
2006-07-15T04:59:57Z

On Sat, 15 Jul 2006, Steven Rostedt wrote:

> Are you talking about the page-flags.h or the vmstat.h?

Both are troublesome. I forked off vmstat.hy from page-flags.h
and all my attempts to straigthen things out results in other problems
so I finally gave up and just did the same for vmstat.h.

> The page-flags.h has a FIXME by it to remove it, but under Adrian's
> rules, it seems that it should still belong. The rule is that if foo.h
> needs bar.h to compile, then foo.h should have bar.h in it. And just
> seeing what happens if we remove page-flags.h from mm.h, we get a
> compile error in mm.h. Which means that that page-flags.h belongs in
> mm.h since it wont compile without it.

page-flags.h also seems to be included from the arches
for various purposes.

grep page-flags include/asm-*/*

include/asm-ia64/cacheflush.h:#include <linux/page-flags.h>
include/asm-ia64/pgalloc.h:#include <linux/page-flags.h>
include/asm-ia64/uaccess.h:#include <linux/page-flags.h>

grep page-flags arch/*/*/*
arch/s390/appldata/appldata_base.c:#include <linux/page-flags.h>

mm.h gets too big. It would be best if we had some smaller granularity and
page-flags.h should be pretty much stand on its own.

> Now for the vmstat.h, I just tried removing that, and it seems that this
> is a candidate to be removed from mm.h since mm.h compiles fine without
> it. But vmstat.h doesn't compile without mm.h. So it seems that we
> should add mm.h to vmstat.h, remove vmstat.h from mm.h and for those .c
> files that break, just add vmstat.h to them.

Great if you can detangle that.