* Determine whether processing of a page should be deferred and ensure that any * outstanding queue operations are processed. */
| 327 | * outstanding queue operations are processed. |
| 328 | */ |
| 329 | static __always_inline bool |
| 330 | vm_pageout_defer(vm_page_t m, const uint8_t queue, const bool enqueued) |
| 331 | { |
| 332 | vm_page_astate_t as; |
| 333 | |
| 334 | as = vm_page_astate_load(m); |
| 335 | if (__predict_false(as.queue != queue || |
| 336 | ((as.flags & PGA_ENQUEUED) != 0) != enqueued)) |
| 337 | return (true); |
| 338 | if ((as.flags & PGA_QUEUE_OP_MASK) != 0) { |
| 339 | vm_page_pqbatch_submit(m, queue); |
| 340 | return (true); |
| 341 | } |
| 342 | return (false); |
| 343 | } |
| 344 | |
| 345 | /* |
| 346 | * Scan for pages at adjacent offsets within the given page's object that are |
no test coverage detected