MCPcopy Create free account
hub / github.com/F-Stack/f-stack / vm_page_dequeue_deferred

Function vm_page_dequeue_deferred

freebsd/vm/vm_page.c:3666–3682  ·  view source on GitHub ↗

* vm_page_dequeue_deferred: [ internal use only ] * * Request removal of the given page from its current page * queue. Physical removal from the queue may be deferred * indefinitely. */

Source from the content-addressed store, hash-verified

3664 * indefinitely.
3665 */
3666void
3667vm_page_dequeue_deferred(vm_page_t m)
3668{
3669 vm_page_astate_t new, old;
3670
3671 old = vm_page_astate_load(m);
3672 do {
3673 if (old.queue == PQ_NONE) {
3674 KASSERT((old.flags & PGA_QUEUE_STATE_MASK) == 0,
3675 ("%s: page %p has unexpected queue state",
3676 __func__, m));
3677 break;
3678 }
3679 new = old;
3680 new.flags |= PGA_DEQUEUE;
3681 } while (!vm_page_pqstate_commit_request(m, &old, new));
3682}
3683
3684/*
3685 * vm_page_dequeue:

Callers 1

vm_page_free_prepFunction · 0.85

Calls 2

vm_page_astate_loadFunction · 0.85

Tested by

no test coverage detected