diff options
author | dillon <dillon@FreeBSD.org> | 1999-02-12 20:42:19 +0000 |
---|---|---|
committer | dillon <dillon@FreeBSD.org> | 1999-02-12 20:42:19 +0000 |
commit | aadfe1d8331b84819a02f5bbdae9d5692c9d0b1a (patch) | |
tree | 8fdbde28fecba31d96bda94be8b84a7a5fc3306f /sys/vm | |
parent | 1c697612c00b349f6ef445f24c8384238ed2c2f5 (diff) | |
download | FreeBSD-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/vm')
-rw-r--r-- | sys/vm/vm_object.c | 8 |
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); } } } |