Subject: Re: kernel params
To: Matt Thomas <firstname.lastname@example.org>
From: Anders Magnusson <email@example.com>
Date: 07/26/2000 19:51:15
> 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.
Eh, didn't you get something wrong here? You don't need to have the
User PTE pages that do not refer to any page present at all. So if you
have a binary of size 20k you will only have one page table page
(the first one) and the rest won't be allocated. (probably you will
have another page for the stack also). The problem is the SPT size;
if the system can have 100 processes then there must be space on the
SPT for (100 * (text + data + mmap + stack)/128)/128 page table entries
and that is the problem.
The only way to deal with this is to allow fewer processes to have their
pagetables in memory. I have a bunch of ideas about this but I haven't
implemented anything yet. This must also be compared to the extra
speed penalty that handling results in.