Constantine Kousoulos <[EMAIL PROTECTED]> writes:

> A second thing is that recursive mapping works well when we have
> 2-level page tables (as in the i386 architecture).

Try a few more levels of recursion. It works fine.

> When we have 3 or
> more page tables, the recursive mapping just points to another page
> table and not to the physical address of a page. I think that is why
> "The rest (of the page tables) is kept as physical pages in 3 UVM
> objects, and is temporarily mapped for virtual access when needed". Do
> these UVM objects work like a cache that save the last page tables
> used?

Erm. no. they are used to keep track of the page table pages. If you'd
ask me, they are not really necessary to have there, other than to
speed up certain operations by a tiniest fraction (so that we can do
(obj,offset)->vm_page lookups instead of va->pa->vm_page lookups that
are more expensive).

I wouldn't trust those comments. Unfortunately, the common trait of
most pmap comments is that they are written in a very early stage
of pmap development and by the time the pmap is almost working, the
author stops updating the comments (which is something you do mostly
just to collect your thoughts).

//art

Reply via email to