Re: test10-pre2

From: Linus Torvalds (torvalds@transmeta.com)
Date: Fri Oct 13 2000 - 16:23:44 EST


On Fri, 13 Oct 2000, Richard Henderson wrote:

> On Fri, Oct 13, 2000 at 12:22:35PM -0700, Linus Torvalds wrote:
> > The PGD is 1024 entries, and the last one is used by the self-mapping
> > stuff. But the VMALLOC area is NOT there ...
>
> Ok, I was slightly confused. Yes, the vptb is at 0xfffffffe00000000
> not 0xfffffe0000000000. The bit I was remembering is the SRM callback
> console setup, which _does_ exist in the same PGD as vmalloc. But
> that, of course, would only be true if you were running SRM.
>
> Thanks for the patch, Ivan.

Note that it would be nicer to _not_ do the page fault case anyway, and
just extend on the current special case of one PGD entry - just make that
one PGD entry be two, and pre-allocate the (one) PMD entry that you use
for SRM callbacks and vmalloc(), and fill it into each page directory so
that set_pgdir() is basically "pre-done" and thus nothing ever needs to be
done afterwards.

That simplifies the page fault handling.

Not that the test and conditional branch probably matters all that much,
but still.. We cannot do this on a 2-level x86 page table because we don't
want to limit the vmalloc() area to 4MB, but on a 3-level page table
(whether with PAE on x86 or on alpha), you could easily just decide to
limit the vmalloc() area to a a gigabyte or two and handle it with just
one PGD entry..

                Linus

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



This archive was generated by hypermail 2b29 : Sun Oct 15 2000 - 21:00:26 EST