On 07/29/2014 05:38, Slawa Olhovchenkov wrote:
> On Sat, Jul 26, 2014 at 06:10:18PM +0000, Alan Cox wrote:
>
>> Author: alc
>> Date: Sat Jul 26 18:10:18 2014
>> New Revision: 269134
>> URL: http://svnweb.freebsd.org/changeset/base/269134
>>
>> Log:
>>   When unwiring a region of an address space, do not assume that the
>>   underlying physical pages are mapped by the pmap.  If, for example, the
>>   application has performed an mprotect(..., PROT_NONE) on any part of the
>>   wired region, then those pages will no longer be mapped by the pmap.
>>   So, using the pmap to lookup the wired pages in order to unwire them
>>   doesn't always work, and when it doesn't work wired pages are leaked.
>>   
>>   To avoid the leak, introduce and use a new function vm_object_unwire()
>>   that locates the wired pages by traversing the object and its backing
>>   objects.
> MFC planed?


At some point, yes.  However, I'm not sure that it will be MFCed in time
for 10.1.


>>   At the same time, switch from using pmap_change_wiring() to the recently
>>   introduced function pmap_unwire() for unwiring the region's mappings.
>>   pmap_unwire() is faster, because it operates a range of virtual addresses
>>   rather than a single virtual page at a time.  Moreover, by operating on
>>   a range, it is superpage friendly.  It doesn't waste time performing
>>   unnecessary demotions.
>>   
>>   Reported by:       markj
>>   Reviewed by:       kib
>>   Tested by: pho, jmg (arm)
>>   Sponsored by:      EMC / Isilon Storage Division
>

_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to