* Schedule the given page for insertion into the specified page queue. * Physical insertion of the page may be deferred indefinitely. */
| 3712 | * Physical insertion of the page may be deferred indefinitely. |
| 3713 | */ |
| 3714 | static void |
| 3715 | vm_page_enqueue(vm_page_t m, uint8_t queue) |
| 3716 | { |
| 3717 | |
| 3718 | KASSERT(m->a.queue == PQ_NONE && |
| 3719 | (m->a.flags & PGA_QUEUE_STATE_MASK) == 0, |
| 3720 | ("%s: page %p is already enqueued", __func__, m)); |
| 3721 | KASSERT(m->ref_count > 0, |
| 3722 | ("%s: page %p does not carry any references", __func__, m)); |
| 3723 | |
| 3724 | m->a.queue = queue; |
| 3725 | if ((m->a.flags & PGA_REQUEUE) == 0) |
| 3726 | vm_page_aflag_set(m, PGA_REQUEUE); |
| 3727 | vm_page_pqbatch_submit(m, queue); |
| 3728 | } |
| 3729 | |
| 3730 | /* |
| 3731 | * vm_page_free_prep: |
no test coverage detected