> Memory only needs to be contiguous in _linear_ address space
> (*virtually* as you put it above).  We grope the host's page
> tables to find the _physical_ addresses of these pages, and
> then map them into a small linear range in the monitor.  There
> is no need for physical continuity at this time.
>
> So, this shouldn't be a problem at all in FreeBSD.

This is great news!  Obviously, virtually contiguous memory is much easier
to acquire, because the physical addresses can be scattered around.  The
only possible problem is finding the physical address for a specific virtual
address, but I'm pretty sure there's a way to do that.

> Now, as far as using memory which is locked down.  For now,
> we don't allow paging any of the allocated pages.  This will
> change.  We assume that all the pages are locked down by default
> by the host OS, except those that are involved with a shared
> memory map to the user space program.  We had to tell Linux
> to lock those down.  Something about Linux assuming shared
> pages can be paged.

Locking the pages isn't a big deal under FreeBSD, as long as I don't need
the actual physical addresses.  I can use mlock(blah) to do that.  I'll keep
the group posted on my progress.

Thanks again,
Isaac Waldron
waldroni at lr dot net


Reply via email to