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"

Reply via email to