On Monday, March 19, 2012 5:34:22 am Konstantin Belousov wrote: > Author: kib > Date: Mon Mar 19 09:34:22 2012 > New Revision: 233168 > URL: http://svn.freebsd.org/changeset/base/233168 > > Log: > If we ever allow for managed fictitious pages, the pages shall be > excluded from superpage promotions. At least one of the reason is > that pv_table is sized for non-fictitious pages only. > > Consistently check for the page to be non-fictitious before accesing > superpage pv list. > > Sponsored by: The FreeBSD Foundation > Reviewed by: alc > MFC after: 2 weeks
Hmm, I think you accidentally reverted 223122? > Modified: head/sys/amd64/amd64/pmap.c > ============================================================================== > --- head/sys/amd64/amd64/pmap.c Mon Mar 19 09:30:40 2012 > (r233167) > +++ head/sys/amd64/amd64/pmap.c Mon Mar 19 09:34:22 2012 > (r233168) > @@ -2939,7 +2942,8 @@ pmap_protect(pmap_t pmap, vm_offset_t sv > pdp_entry_t *pdpe; > pd_entry_t ptpaddr, *pde; > pt_entry_t *pte; > - boolean_t anychanged, pv_lists_locked; > + int anychanged; > + boolean_t pv_lists_locked; > > if ((prot & VM_PROT_READ) == VM_PROT_NONE) { > pmap_remove(pmap, sva, eva); > @@ -2952,7 +2956,7 @@ pmap_protect(pmap_t pmap, vm_offset_t sv > > pv_lists_locked = FALSE; > resume: > - anychanged = FALSE; > + anychanged = 0; > > PMAP_LOCK(pmap); > for (; sva < eva; sva = va_next) { > @@ -3000,7 +3004,7 @@ resume: > * invalidated by pmap_protect_pde(). > */ > if (pmap_protect_pde(pmap, pde, sva, prot)) > - anychanged = TRUE; > + anychanged = 1; > continue; > } else { > if (!pv_lists_locked) { > @@ -3054,7 +3058,7 @@ retry: > if (obits & PG_G) > pmap_invalidate_page(pmap, sva); > else > - anychanged = TRUE; > + anychanged = 1; > } > } > } -- John Baldwin _______________________________________________ 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"