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 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.

Home | Main Index | Thread Index | Old Index