Subject: Re: kernel params
To: der Mouse <mouse@Rodents.Montreal.QC.CA>
From: Matt Thomas <matt@3am-software.com>
List: port-vax
Date: 07/26/2000 10:29:57
At 09:49 AM 7/26/2000 -0400, der Mouse wrote:
> > The hard limit on VAXen is 24MB of data.  This is because the page
> > table design on VAX consumes an incredible amount of memory, so
> > increasing it will steal much static allocated memory.
>
>Seems to me the *right* fix for this is to make userland page tables
>pageable (or at least swappable).
>
>Of course, that could also run into issues on the KA620.  (Do we
>support the KA620 now?  Unfortunately I don't have one on hand.  But I
>think this wouldn't make it much worse....)
>
>You could also punch holes on the kernel address space to represent
>large holes in the user address space - I think; I forget what happens
>if the VM firmware encounters an invalid kernel page when fetching a
>PTE for a userland access.  (And actually doing that would be, um,
>interesting in its own right.  But it could save memory; you can save
>one kernel page, one physical page, for each 64K of invalid userland.)

I've designed VAX ELF shared libraries and executables so that they
favor page table page sharing.

The other thing you can do is reserve a page and fill it with valid
ptes which have PROT_NONE.  Unused pages page table pages can then
point to this if needed.

But page tables need to be pageable.  And then you can treat so that
all PO/P1 page tables for a process need not to resident or valid.

This will require a rewrite of the VAX pmap code.

One real problem is that shared libraries after MAXDSIZ so that you
have a minimum of about (MAXDSIZ / 65536) wasted page table pages
before the pages for the shared libraries.  With proper shuffling
of system page table entries, each (128 * 128 * 512) block of unused
page table pages can be be pointed to a common page containing
128 PTEs which refer to the same system page which contains 128
NOACESS PTEs.
--
Matt Thomas               Internet:   matt@3am-software.com
3am Software Foundry      WWW URL:    http://www.3am-software.com/bio/matt/
Cupertino, CA             Disclaimer: I avow all knowledge of this message