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

Function vm_pageout_defer

freebsd/vm/vm_pageout.c:329–343  ·  view source on GitHub ↗

* Determine whether processing of a page should be deferred and ensure that any * outstanding queue operations are processed. */

Source from the content-addressed store, hash-verified

327 * outstanding queue operations are processed.
328 */
329static __always_inline bool
330vm_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

Callers 3

vm_pageout_launderFunction · 0.85
vm_pageout_scan_activeFunction · 0.85
vm_pageout_scan_inactiveFunction · 0.85

Calls 2

vm_page_astate_loadFunction · 0.85
vm_page_pqbatch_submitFunction · 0.85

Tested by

no test coverage detected