In uvm_pager_dropcluster in the PG_RELEASED case we specifically unbusy the page
so that uvm_anfree will free it.

in uvm_anfree, it will pmap_page_protect a page that it is going to free, so
there is no need to do so beforehand ourselves.

ok?

-0-

Index: uvm/uvm_pager.c
===================================================================
RCS file: /cvs/src/sys/uvm/uvm_pager.c,v
retrieving revision 1.57
diff -u -p -r1.57 uvm_pager.c
--- uvm/uvm_pager.c     24 Jul 2010 15:40:39 -0000      1.57
+++ uvm/uvm_pager.c     1 Apr 2011 21:35:23 -0000
@@ -749,7 +747,6 @@ uvm_pager_dropcluster(struct uvm_object 
                                    PG_BUSY);
                                UVM_PAGE_OWN(ppsp[lcv], NULL);
 
-                               pmap_page_protect(ppsp[lcv], VM_PROT_NONE);
                                simple_unlock(&ppsp[lcv]->uanon->an_lock);
                                /* kills anon and frees pg */
                                uvm_anfree(ppsp[lcv]->uanon);

-- 
While anyone can admit to themselves they were wrong, the true test is
admission to someone else.

Reply via email to