Page MenuHomeFreeBSD

D22886.id65833.diff
No OneTemporary

D22886.id65833.diff

Index: sys/vm/vm_page.h
===================================================================
--- sys/vm/vm_page.h
+++ sys/vm/vm_page.h
@@ -648,7 +648,6 @@
int vm_page_rename(vm_page_t, vm_object_t, vm_pindex_t);
vm_page_t vm_page_replace(vm_page_t mnew, vm_object_t object,
vm_pindex_t pindex);
-void vm_page_requeue(vm_page_t m);
int vm_page_sbusied(vm_page_t m);
vm_page_t vm_page_scan_contig(u_long npages, vm_page_t m_start,
vm_page_t m_end, u_long alignment, vm_paddr_t boundary, int options);
@@ -658,7 +657,6 @@
int vm_page_sleep_if_xbusy(vm_page_t m, const char *msg);
vm_offset_t vm_page_startup(vm_offset_t vaddr);
void vm_page_sunbusy(vm_page_t m);
-void vm_page_swapqueue(vm_page_t m, uint8_t oldq, uint8_t newq);
bool vm_page_try_remove_all(vm_page_t m);
bool vm_page_try_remove_write(vm_page_t m);
int vm_page_trysbusy(vm_page_t m);
@@ -835,31 +833,6 @@
atomic_set_32(addr, val);
}
-/*
- * Atomically update the queue state of the page. The operation fails if
- * any of the queue flags in "fflags" are set or if the "queue" field of
- * the page does not match the expected value; if the operation is
- * successful, the flags in "nflags" are set and all other queue state
- * flags are cleared.
- */
-static inline bool
-vm_page_pqstate_cmpset(vm_page_t m, uint32_t oldq, uint32_t newq,
- uint32_t fflags, uint32_t nflags)
-{
- vm_page_astate_t new, old;
-
- old = vm_page_astate_load(m);
- do {
- if ((old.flags & fflags) != 0 || old.queue != oldq)
- return (false);
- new = old;
- new.flags = (new.flags & ~PGA_QUEUE_OP_MASK) | nflags;
- new.queue = newq;
- } while (!vm_page_astate_fcmpset(m, &old, new));
-
- return (true);
-}
-
/*
* vm_page_dirty:
*
Index: sys/vm/vm_page.c
===================================================================
--- sys/vm/vm_page.c
+++ sys/vm/vm_page.c
@@ -3599,52 +3599,6 @@
vm_page_pqbatch_submit(m, queue);
}
-/*
- * vm_page_requeue: [ internal use only ]
- *
- * Schedule a requeue of the given page.
- *
- * The page must be locked.
- */
-void
-vm_page_requeue(vm_page_t m)
-{
-
- vm_page_assert_locked(m);
- KASSERT(vm_page_queue(m) != PQ_NONE,
- ("%s: page %p is not logically enqueued", __func__, m));
- KASSERT(m->ref_count > 0,
- ("%s: page %p does not carry any references", __func__, m));
-
- if ((m->a.flags & PGA_REQUEUE) == 0)
- vm_page_aflag_set(m, PGA_REQUEUE);
- vm_page_pqbatch_submit(m, atomic_load_8(&m->a.queue));
-}
-
-/*
- * vm_page_swapqueue: [ internal use only ]
- *
- * Move the page from one queue to another, or to the tail of its
- * current queue, in the face of a possible concurrent free of the
- * page.
- */
-void
-vm_page_swapqueue(vm_page_t m, uint8_t oldq, uint8_t newq)
-{
- vm_page_astate_t new, old;
-
- old = vm_page_astate_load(m);
- do {
- if (old.queue != oldq || (old.flags & PGA_DEQUEUE) != 0)
- return;
- new = old;
- new.flags |= PGA_REQUEUE;
- new.queue = newq;
- } while (!vm_page_pqstate_commit_dequeue(m, &old, new));
-
- vm_page_pqbatch_submit(m, newq);
-}
-
/*
* vm_page_free_prep:
*

File Metadata

Mime Type
text/plain
Expires
Sun, Apr 5, 3:32 AM (16 h, 23 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30866017
Default Alt Text
D22886.id65833.diff (2 KB)

Event Timeline