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 Fri, Nov 05, 2010 at 10:04:46AM -0700, Matt Thomas wrote:
>
> On Nov 5, 2010, at 4:59 AM, Masao Uebayashi wrote:
>
> > On Mon, Nov 01, 2010 at 03:52:11PM -0700, Matt Thomas wrote:
> >>
> >> On Nov 1, 2010, at 8:55 AM, Eduardo Horvath wrote:
> >>
> >>> On Mon, 1 Nov 2010, Masao Uebayashi wrote:
> >>>
> >>>> I think pmap_extract(9) is a bad API.
> >>>>
> >>>> After MD bootstrap code detects all physical memories, it gives
> >>>> all the informations to UVM, including available KVA. At this
> >>>> point UVM knows all the available resources of virtual/physical
> >>>> addresses. UVM is responsible to manage all of these.
> >>>
> >>> This is managed RAM. What about I/O pages?
> >>
> >> 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.)
>
> Unfortunately, that doesn't completely solve the problem since
> lookups will be done either by exception handlers or hardware
> bypassing any locks. These means that the page tables must be
> updated in a MP safe manner.
I spent some time to think of this. I'm pretty sure I have a good
understanding of pmap vs. MP now.
I'll reply after doing a little more research.
Home |
Main Index |
Thread Index |
Old Index