On Mon, 25 May 1998 13:51:42 +0200 XXX_p6mip300 <p6mip300at_private> wrote: > How to solve it ? > Well, we could swap the pgd / pmd / pte, but i really don't know > if it is possible or what. ...or you want something like lazy page table allocation. As I recall, the Linux VM code has a "flat" model, whereas Mach VM (the basis of the VM system used by 4.4BSD and its derivatives) and UVM (NetBSD's new VM system) have a 2-layer model; the upper layer holds mappings that can coalesce to save space, and the lower layer holds the (redundant) physical mappings (in the format used by the MMU/software TLB reload engine/whatever). This lower layer is able to allocate page tables or other physical mapping resources "lazily", as mappings for actual physical pages are entered by the upper layer. This lower layer is also free to "forget" mappings at any time, so when memory is in extremely short supply, the page tables can simply be freed to the system (and that process's page table base pointer set to some default empty page table), and when that process runs again, the mappings are simply rebuilt as the page faults occur from the (compact) info stored in the upper layer. Jason R. Thorpe thorpejat_private NASA Ames Research Center Home: +1 408 866 1912 NAS: M/S 258-5 Work: +1 650 604 0935 Moffett Field, CA 94035 Pager: +1 650 428 6939
This archive was generated by hypermail 2b30 : Fri Apr 13 2001 - 13:54:37 PDT