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>