Date: Mon, 26 May 2014 13:11:38 +0000 (UTC) From: Attilio Rao <attilio@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r266688 - in user/attilio/rm_vmobj_cache/sys: kern vm Message-ID: <201405261311.s4QDBcq3009139@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: attilio Date: Mon May 26 13:11:38 2014 New Revision: 266688 URL: http://svnweb.freebsd.org/changeset/base/266688 Log: Fixup 2 cases where we were allocating via vm_page_grab(). Modified: user/attilio/rm_vmobj_cache/sys/kern/kern_sharedpage.c user/attilio/rm_vmobj_cache/sys/vm/vm_object.c Modified: user/attilio/rm_vmobj_cache/sys/kern/kern_sharedpage.c ============================================================================== --- user/attilio/rm_vmobj_cache/sys/kern/kern_sharedpage.c Mon May 26 12:28:34 2014 (r266687) +++ user/attilio/rm_vmobj_cache/sys/kern/kern_sharedpage.c Mon May 26 13:11:38 2014 (r266688) @@ -108,7 +108,8 @@ shared_page_init(void *dummy __unused) shared_page_obj = vm_pager_allocate(OBJT_PHYS, 0, PAGE_SIZE, VM_PROT_DEFAULT, 0, NULL); VM_OBJECT_WLOCK(shared_page_obj); - m = vm_page_grab(shared_page_obj, 0, VM_ALLOC_NOBUSY | VM_ALLOC_ZERO); + m = vm_page_grab(shared_page_obj, 0, VM_ALLOC_NOBUSY | VM_ALLOC_ZERO | + VM_ALLOC_WIRED); m->valid = VM_PAGE_BITS_ALL; VM_OBJECT_WUNLOCK(shared_page_obj); addr = kva_alloc(PAGE_SIZE); Modified: user/attilio/rm_vmobj_cache/sys/vm/vm_object.c ============================================================================== --- user/attilio/rm_vmobj_cache/sys/vm/vm_object.c Mon May 26 12:28:34 2014 (r266687) +++ user/attilio/rm_vmobj_cache/sys/vm/vm_object.c Mon May 26 13:11:38 2014 (r266688) @@ -2044,8 +2044,12 @@ vm_object_populate(vm_object_t object, v int rv; VM_OBJECT_ASSERT_WLOCKED(object); + KASSERT((object->flags & OBJ_UNMANAGED) != 0, + ("vm_object_populate: object %p cannot contain unmanaged pages", + object)); for (pindex = start; pindex < end; pindex++) { - m = vm_page_grab(object, pindex, VM_ALLOC_NORMAL); + m = vm_page_grab(object, pindex, VM_ALLOC_NORMAL | + VM_ALLOC_WIRED); if (m->valid != VM_PAGE_BITS_ALL) { ma[0] = m; rv = vm_pager_get_pages(object, ma, 1, 0);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201405261311.s4QDBcq3009139>