Date: Mon, 19 Mar 2012 08:28:35 -0400 From: John Baldwin <jhb@freebsd.org> To: Konstantin Belousov <kib@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r233168 - in head/sys: amd64/amd64 i386/i386 Message-ID: <201203190828.35561.jhb@freebsd.org> In-Reply-To: <201203190934.q2J9YMEo061016@svn.freebsd.org> References: <201203190934.q2J9YMEo061016@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203190828.35561.jhb>