Subject: pages.
To: None <amiga-dev@sun-lamp.cs.berkeley.edu>
From: Chris Hopps <chopps@emunix.emich.edu>
List: amiga-dev
Date: 03/17/1994 07:46:13
First let me say that I am working on a newer pmap module to replace
the current one. Iwas withlding this information becuase I am not
sure yet if I want to do a brand new pmap or just fix the old one.
The reason I am telling now is that I have read htat people (or a
person) is working on a pmap for non contigous ram. Just wanted to
warn you that the pmap module may be radically different some day.
Next, this question is sorta to markus but I also would like other
peoples comments:
Currently we use a page size of 8k. Almost *all* of the other ports
use a page size of 4k. This is a very standard size even outside of
NetBSD.
One of the reasons is the simplicity of page table creation and
resource alloction of said page tables. Consider that currently we
allocate a page for each and every process' segment table (or level 1
mmu table) The index we use is the upper 8 bits or 256 entries. This
wastes 6k of the page. 20 processes loaded? 120k real physical mem
is gone and not being used. With 4k pages the formula is simple: the
upper 10 bits index one 1024 entries in the page. the next 10 bits
index one of the 1024 entries in the level 2 table, finally the
remaining 12 bits index the 4096 byte page. Nothing wasted.
There is also equal or less physical space wasted on adjusting to page
boundries for all proceses. (text data bss stack)
I am very serious about making NetBSD run on machines that are not
power horses. Its nice if you have 16M of ram however not everyone
does. I don't want the only solution for people with medium sized
computers to be Linux, and if we don;t do something about the lack of
tight resource allocation in NetBSD The amiga community will be
plagued forever with an SysV type unix.
Everyone should realize that the i386 port of NetBSD runs comfortably
in a 4M system. The amiga port does not. I do not wish to cater to
The richest of Amiga owners, the spirit of the amiga is to provide
power in the least amount of resource as possible I belive the NetBSD
port should continue this in this.
Now back to the pmap, if everything goes well the rewrite I am
preparing will return basically one *Megabyte* of physical ram
previously unavailable at boot time. I am not kidding it was gone and
never used. The new pmap will basically provide the same
functionality using about 30-70k. I may also attach the 4k page as
luggage if I am convinced it is the better route.
There is much in the kernel that I belive can also be trimmed.
However that is yet to be detirmined and if so, fixed.
My goal is for AmigaBSD to run on a 2M machine as well as it currently
runs on 4M machine or better. With the pmap I will be 3/4's of the
way there.
Comments?
Chris.
------------------------------------------------------------------------------