summaryrefslogtreecommitdiff
path: root/sys/uvm/uvm_aobj.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/uvm/uvm_aobj.c')
-rw-r--r--sys/uvm/uvm_aobj.c46
1 files changed, 1 insertions, 45 deletions
diff --git a/sys/uvm/uvm_aobj.c b/sys/uvm/uvm_aobj.c
index 0f7770a4707..ad2509f3bc2 100644
--- a/sys/uvm/uvm_aobj.c
+++ b/sys/uvm/uvm_aobj.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uvm_aobj.c,v 1.39 2009/05/08 13:50:15 ariane Exp $ */
+/* $OpenBSD: uvm_aobj.c,v 1.40 2009/06/01 19:54:02 oga Exp $ */
/* $NetBSD: uvm_aobj.c,v 1.39 2001/02/18 21:19:08 chs Exp $ */
/*
@@ -174,7 +174,6 @@ boolean_t uao_flush(struct uvm_object *, voff_t, voff_t, int);
void uao_free(struct uvm_aobj *);
int uao_get(struct uvm_object *, voff_t, vm_page_t *,
int *, int, vm_prot_t, int, int);
-boolean_t uao_releasepg(struct vm_page *, struct vm_page **);
boolean_t uao_pagein(struct uvm_aobj *, int, int);
boolean_t uao_pagein_page(struct uvm_aobj *, int);
@@ -191,10 +190,6 @@ struct uvm_pagerops aobj_pager = {
NULL, /* fault */
uao_flush, /* flush */
uao_get, /* get */
- NULL, /* put (done by pagedaemon) */
- NULL, /* cluster */
- NULL, /* mk_pcluster */
- uao_releasepg /* releasepg */
};
/*
@@ -1142,45 +1137,6 @@ uao_get(struct uvm_object *uobj, voff_t offset, struct vm_page **pps,
}
/*
- * uao_releasepg: handle released page in an aobj
- *
- * => "pg" is a PG_BUSY [caller owns it], PG_RELEASED page that we need
- * to dispose of.
- * => caller must handle PG_WANTED case
- * => called with page's object locked, pageq's unlocked
- * => returns TRUE if page's object is still alive, FALSE if we
- * killed the page's object. if we return TRUE, then we
- * return with the object locked.
- * => if (nextpgp != NULL) => we return the next page on the queue, and return
- * with the page queues locked [for pagedaemon]
- * => if (nextpgp == NULL) => we return with page queues unlocked [normal case]
- * => we kill the aobj if it is not referenced and we are suppose to
- * kill it ("KILLME").
- */
-boolean_t
-uao_releasepg(struct vm_page *pg, struct vm_page **nextpgp /* OUT */)
-{
- struct uvm_aobj *aobj = (struct uvm_aobj *) pg->uobject;
-
- KASSERT(pg->pg_flags & PG_RELEASED);
-
- /*
- * dispose of the page [caller handles PG_WANTED] and swap slot.
- */
- pmap_page_protect(pg, VM_PROT_NONE);
- uao_dropswap(&aobj->u_obj, pg->offset >> PAGE_SHIFT);
- uvm_lock_pageq();
- if (nextpgp)
- *nextpgp = TAILQ_NEXT(pg, pageq); /* next page for daemon */
- uvm_pagefree(pg);
- if (!nextpgp)
- uvm_unlock_pageq(); /* keep locked for daemon */
-
- return TRUE;
-}
-
-
-/*
* uao_dropswap: release any swap resources from this aobj page.
*
* => aobj must be locked or have a reference count of 0.