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 Wed, Jan 05, 2011 at 01:29:02AM +0900, Toru Nishimura wrote:
> Masao Uebayashi <uebayasi%tombi.co.jp@localhost> responds as;
> 
> >>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().
> 
> The VIPT rule is simple;  just make sure to match colour between
> VPN and PFN.  It's the mandatory programming practice.  This rule
> is clearly documented in _many_ CPU architecture documents with
> VIPT cache.
> 
> - mmap(2) must refuse to map mixed colour VA.

Hmmm.  I've thought that the page colouring constraint is *should*,
not *must*.

If it is really a must, yes, it's only the problem that how to
achieve that in UVM.  And UBC and other remapping methods (if
exists) should make sure the rule.

> - dynamic linker should pay attention to map share library at
>  "colour boundary."  This ensure cache lines shared between
>  processes.
> 
> Toru Nishimura / ALKYL Technology


Home | Main Index | Thread Index | Old Index