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