tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pmap_extract(9) (was Re: xmd(4) (Re: XIP))



On Mon, 8 Nov 2010, Masao Uebayashi wrote:

> On Fri, Nov 05, 2010 at 05:36:53PM +0000, Eduardo Horvath wrote:
> > On Fri, 5 Nov 2010, Masao Uebayashi wrote:
> > 
> > > On Mon, Nov 01, 2010 at 03:52:11PM -0700, Matt Thomas wrote:
> > 
> > > > Indeed.  Also consider that pmap's are designed to have to have
> > > > fast V->P translations, using that instead of UVM makes a lot of
> > > > sense.
> > > 
> > > How does locking works?
> > > 
> > > My understanding is page tables (per-process) are protected by
> > > struct vm_map (per-process).  (Or moving toward it.)
> > 
> > No, once again this is MD.  For instance sparc64 uses compare and swap 
> > instructions to manipulate page tables for lockless synchronization.
> 
> I don't like "it's MD, period" attitude.  That solves nothing.

Yes it does.  If you have bleed through between the different abstraction 
layers it makes implementing a pmap for a new processor much more 
difficult and makes the code inefficient since you end up implementing a 
whole bunch of goo just to keep the sideffects compatible.  You should not 
be making any implicit assumptions beyond what is explicitly documented in 
the interface descriptions otherwise the code becomes unmaintainable 
across the dozens of different processors and MMU archittures we're trying 
to support.

Eduardo


Home | Main Index | Thread Index | Old Index