Date: Sat, 6 Jun 2009 20:13:14 +0000 (UTC) From: Alan Cox <alc@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r193593 - in head/sys: kern vm Message-ID: <200906062013.n56KDEgU070716@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: alc Date: Sat Jun 6 20:13:14 2009 New Revision: 193593 URL: http://svn.freebsd.org/changeset/base/193593 Log: If vm_pager_get_pages() returns VM_PAGER_OK, then there is no need to check the page's valid bits. The page is guaranteed to be fully valid. (For the record, this is documented in vm/vm_pager.h's comments.) Modified: head/sys/kern/kern_exec.c head/sys/vm/vm_glue.c Modified: head/sys/kern/kern_exec.c ============================================================================== --- head/sys/kern/kern_exec.c Sat Jun 6 19:07:15 2009 (r193592) +++ head/sys/kern/kern_exec.c Sat Jun 6 20:13:14 2009 (r193593) @@ -948,8 +948,7 @@ exec_map_first_page(imgp) initial_pagein = i; rv = vm_pager_get_pages(object, ma, initial_pagein, 0); ma[0] = vm_page_lookup(object, 0); - if ((rv != VM_PAGER_OK) || (ma[0] == NULL) || - (ma[0]->valid == 0)) { + if ((rv != VM_PAGER_OK) || (ma[0] == NULL)) { if (ma[0]) { vm_page_lock_queues(); vm_page_free(ma[0]); Modified: head/sys/vm/vm_glue.c ============================================================================== --- head/sys/vm/vm_glue.c Sat Jun 6 19:07:15 2009 (r193592) +++ head/sys/vm/vm_glue.c Sat Jun 6 20:13:14 2009 (r193593) @@ -259,7 +259,7 @@ vm_imgact_hold_page(vm_object_t object, m = vm_page_lookup(object, pindex); if (m == NULL) goto out; - if (m->valid == 0 || rv != VM_PAGER_OK) { + if (rv != VM_PAGER_OK) { vm_page_lock_queues(); vm_page_free(m); vm_page_unlock_queues();
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906062013.n56KDEgU070716>