svn commit: r259908 - head/sys/vm

Marcel Moolenaar marcel at xcllnt.net
Sun Dec 29 02:44:51 UTC 2013


On Dec 28, 2013, at 4:02 PM, Nathan Whitehorn <nwhitehorn at freebsd.org> wrote:

> On 12/26/13 00:46, Marcel Moolenaar wrote:
>> Author: marcel
>> Date: Thu Dec 26 05:46:10 2013
>> New Revision: 259908
>> URL: http://svnweb.freebsd.org/changeset/base/259908
>> 
>> Log:
>>  For ia64, use pmap_remove_pages() and not pmap_remove(). The problem is
>>  that we don't have a good way (yet) to iterate over the mapped pages by
>>  virtual address and simply try each page within the range. Given that we
>>  call pmap_remove() over the entire 2^63 bytes of address space, it takes
>>  a while for pmap_remove to have tried all 2^50 pages.
>>  By using pmap_remove_pages() we use the PV list to find all mappings.
>> 
>>  Change derived from a patch by: alc
>> 
> 
> Why make this ia64-specific? It seems like a potentially useful general
> optimization and certainly shouldn't be harmful on other architectures.

What alc@ said.

Making it generic requires a bit more work and it's not clear
to me whether it's a good change. Basically, ia64 fails to
handle the pmap_remove() interface. So, for now I see it as
a quick fix. What happens next is open. We're thinking of using
the new trie code to track PTEs per PMAP. This helps to support
pmap_remove() efficiently and may have other advantages.

-- 
Marcel Moolenaar
marcel at xcllnt.net


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20131228/934616b8/attachment.sig>


More information about the svn-src-head mailing list