Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Jul 2013 23:38:38 +0000 (UTC)
From:      Neel Natu <neel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r252653 - head/sys/vm
Message-ID:  <201307032338.r63Nccgu063509@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: neel
Date: Wed Jul  3 23:38:37 2013
New Revision: 252653
URL: http://svnweb.freebsd.org/changeset/base/252653

Log:
  vm_phys_fictitious_reg_range() was losing the 'memattr' because it would be
  reset by pmap_page_init() right after being initialized in vm_page_initfake().
  
  The statement above is with reference to the amd64 implementation of
  pmap_page_init().
  
  Fix this by calling 'pmap_page_init()' in 'vm_page_initfake()' before changing
  the 'memattr'.
  
  Reviewed by:	kib
  MFC after:	2 weeks

Modified:
  head/sys/vm/vm_page.c
  head/sys/vm/vm_phys.c

Modified: head/sys/vm/vm_page.c
==============================================================================
--- head/sys/vm/vm_page.c	Wed Jul  3 23:38:02 2013	(r252652)
+++ head/sys/vm/vm_page.c	Wed Jul  3 23:38:37 2013	(r252653)
@@ -645,6 +645,7 @@ vm_page_initfake(vm_page_t m, vm_paddr_t
 	/* Fictitious pages don't use "order" or "pool". */
 	m->oflags = VPO_BUSY | VPO_UNMANAGED;
 	m->wire_count = 1;
+	pmap_page_init(m);
 memattr:
 	pmap_page_set_memattr(m, memattr);
 }

Modified: head/sys/vm/vm_phys.c
==============================================================================
--- head/sys/vm/vm_phys.c	Wed Jul  3 23:38:02 2013	(r252652)
+++ head/sys/vm/vm_phys.c	Wed Jul  3 23:38:37 2013	(r252653)
@@ -559,7 +559,6 @@ vm_phys_fictitious_reg_range(vm_paddr_t 
 	}
 	for (i = 0; i < page_count; i++) {
 		vm_page_initfake(&fp[i], start + PAGE_SIZE * i, memattr);
-		pmap_page_init(&fp[i]);
 		fp[i].oflags &= ~(VPO_BUSY | VPO_UNMANAGED);
 	}
 	mtx_lock(&vm_phys_fictitious_reg_mtx);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307032338.r63Nccgu063509>