-/* $OpenBSD: uvm_fault.c,v 1.130 2022/06/28 10:38:55 mpi Exp $ */
+/* $OpenBSD: uvm_fault.c,v 1.131 2022/06/28 10:45:55 mpi Exp $ */
/* $NetBSD: uvm_fault.c,v 1.51 2000/08/06 00:22:53 thorpej Exp $ */
/*
if (pg->pg_flags & PG_WANTED) {
wakeup(pg);
}
- /* un-busy! */
- atomic_clearbits_int(&pg->pg_flags,
- PG_WANTED|PG_BUSY|PG_FAKE);
- UVM_PAGE_OWN(pg, NULL);
/*
* if we were RELEASED during I/O, then our anon is
uvm_lock_pageq();
uvm_pageactivate(pg);
uvm_unlock_pageq();
+ atomic_clearbits_int(&pg->pg_flags,
+ PG_WANTED|PG_BUSY|PG_FAKE);
+ UVM_PAGE_OWN(pg, NULL);
}
/*
-/* $OpenBSD: uvm_pager.c,v 1.78 2022/02/18 09:04:38 kettenis Exp $ */
+/* $OpenBSD: uvm_pager.c,v 1.79 2022/06/28 10:45:55 mpi Exp $ */
/* $NetBSD: uvm_pager.c,v 1.36 2000/11/27 18:26:41 chs Exp $ */
/*
/* if page was released, release it. otherwise un-busy it */
if (ppsp[lcv]->pg_flags & PG_RELEASED &&
ppsp[lcv]->pg_flags & PQ_ANON) {
- /* so that anfree will free */
- atomic_clearbits_int(&ppsp[lcv]->pg_flags,
- PG_BUSY);
- UVM_PAGE_OWN(ppsp[lcv], NULL);
-
/* kills anon and frees pg */
uvm_anon_release(ppsp[lcv]->uanon);
-
continue;
} else {
/*