summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>1999-02-12 20:42:19 +0000
committerdillon <dillon@FreeBSD.org>1999-02-12 20:42:19 +0000
commitaadfe1d8331b84819a02f5bbdae9d5692c9d0b1a (patch)
tree8fdbde28fecba31d96bda94be8b84a7a5fc3306f /sys
parent1c697612c00b349f6ef445f24c8384238ed2c2f5 (diff)
downloadFreeBSD-src-aadfe1d8331b84819a02f5bbdae9d5692c9d0b1a.zip
FreeBSD-src-aadfe1d8331b84819a02f5bbdae9d5692c9d0b1a.tar.gz
Minor optimization to madvise() MADV_FREE to make page as freeable as
possible without actually unmapping it from the process. As of now, I declare madvise() on OBJT_DEFAULT/OBJT_SWAP objects to be 'working and complete'.
Diffstat (limited to 'sys')
-rw-r--r--sys/vm/vm_object.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index 250f727..cf4e6b1 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_object.c,v 1.148 1999/02/08 19:00:15 dillon Exp $
+ * $Id: vm_object.c,v 1.149 1999/02/12 09:51:43 dillon Exp $
*/
/*
@@ -844,9 +844,15 @@ shadowlookup:
* Specifically, we do not try to actually free
* the page now nor do we try to put it in the
* cache (which would cause a page fault on reuse).
+ *
+ * But we do make the page is freeable as we
+ * can without actually taking the step of unmapping
+ * it.
*/
pmap_clear_modify(VM_PAGE_TO_PHYS(m));
m->dirty = 0;
+ m->act_count = 0;
+ vm_page_deactivate(m);
}
}
}
OpenPOWER on IntegriCloud