Re: [patch] zoned-2.3.28-G5, zone-allocator, highmem, bootmem fixes

Ingo Molnar (mingo@chiara.csoma.elte.hu)
Sun, 14 Nov 1999 11:16:40 +0100 (CET)


On Sun, 14 Nov 1999, Chris Wedgwood wrote:

> > - modules should compile again.
>
> you missed:

> +EXPORT_SYMBOL(zonelists);

whoops, thanks.

> > - cleaned up pgtable.h, split into lowlevel and highlevel parts, this
> > fixes dependencies in mm.h & misc.c.
>
> should asm-i386/pgtable include pgalloc.h? This is required for
> binfmt_aout but I don't think it is verr clean

> --- fs/binfmt_aout.c.orig Sun Nov 14 10:39:17 1999
> +++ fs/binfmt_aout.c Sun Nov 14 10:57:50 1999
> #include <asm/pgtable.h>
> +#ifdef CONFIG_X86
> +#include <asm/pgalloc.h>
> +#endif

the solution is to:

-#include <asm/pgtable.h>
+#include <asm/pgalloc.h>

we do not want to put #ifdef CONFIG_X86-type of stuff into the main
kernel.

basically there are some 'low level' include files that need low-level
paging details, but do not have the highlevel structures defined like
struct mm. So i've split out all the highlevel code from pgtable.h (TLB
flushing and page table allocation) and have put it into pgalloc.h.
pgalloc.h includes pgtable.h.

> > - fixed boot task's swapper_pg_dir clearing
>
> what else needs to be done to alloc the buffer cache to use the low
> 16MB?

fallback from 'highmem => normalmem => dmamem' should work already.

> Oh, and on my laptop, performance is way down and it now swaps where
> it did not before... (looks like processes can't use the lower 16M
> either)

will have a look - i think we are simply out of balance somewhere, but
maybe it's something else. What i saw on 16MB is that kswapd is almost
constantly running, but process pages do get allocated in the lowest 16MB
as well.

-- mingo

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/