Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys/uvm
On Tue, Jan 04, 2011 at 06:25:12PM +0900, Toru Nishimura wrote:
> Matt Thomas modified UVM colour matching scheme;
>
> >Modified Files:
> > src/sys/uvm: uvm_extern.h uvm_fault.c uvm_km.c uvm_page.c
> >
> >Log Message:
> >Add better color matching selecting free pages. KM pages will now allocated
> >so that VA and PA have the same color. On a page fault, choose a physical
> >page that has the same color as the virtual address.
>
> This change is a big forward-reap to have VIPT-safe NetBSD VM for R4000 and
> modern ARM. Combined with matched KVA selection against UVA, found in
> vm_machdep.c::vmapbuf(), there remains little ocasion where VM chooses
> mistakenly wrong colour combination to bind VPN and PFN.
>
> The entire effect is to eliminate the necessity of VIPT fixup efforts in
> port-specific
> pmap.c and ends up with improving the cache effeciency in large degree. This
> is _the intent_behind VIPT design. So far OS virtual memory strategy paid
> little
> attention to make VIPT cache work correctly.
It'd be nice if we can really eliminate VIPT fixup *code* in pmaps.
And I *think* this is possible if we don't remap pages using
pmap_kenter_pa().
Home |
Main Index |
Thread Index |
Old Index