svn commit: r233168 - in head/sys: amd64/amd64 i386/i386
John Baldwin
jhb at freebsd.org
Mon Mar 19 15:25:42 UTC 2012
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
More information about the svn-src-all
mailing list