Date: Mon, 24 Oct 2011 18:42:55 GMT From: John Baldwin <jhb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 200663 for review Message-ID: <201110241842.p9OIgtKj084559@skunkworks.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@200663?ac=10 Change 200663 by jhb@jhb_jhbbsd on 2011/10/24 18:41:54 Use V_CLEANONLY and vm_object_page_cache() for FADV_DONTNEED to avoid losing data in dirty buffers and to move pages into cache rather than free'ing them outright. Affected files ... .. //depot/projects/fadvise/sys/kern/vfs_default.c#5 edit Differences ... ==== //depot/projects/fadvise/sys/kern/vfs_default.c#5 (text+ko) ==== @@ -1017,13 +1017,13 @@ VOP_UNLOCK(vp, 0); break; } - vinvalbuf(vp, V_NORMAL, 0, 0); + vinvalbuf(vp, V_CLEANONLY, 0, 0); if (vp->v_object != NULL) { start = trunc_page(ap->a_start); end = round_page(ap->a_end); VM_OBJECT_LOCK(vp->v_object); - vm_object_page_remove(vp->v_object, OFF_TO_IDX(start), - OFF_TO_IDX(end), OBJPR_CLEANONLY); + vm_object_page_cache(vp->v_object, OFF_TO_IDX(start), + OFF_TO_IDX(end)); VM_OBJECT_UNLOCK(vp->v_object); } VOP_UNLOCK(vp, 0);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201110241842.p9OIgtKj084559>