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

Function vm_pageout_init_scan

freebsd/vm/vm_pageout.c:221–242  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

219};
220
221static void
222vm_pageout_init_scan(struct scan_state *ss, struct vm_pagequeue *pq,
223 vm_page_t marker, vm_page_t after, int maxscan)
224{
225
226 vm_pagequeue_assert_locked(pq);
227 KASSERT((marker->a.flags & PGA_ENQUEUED) == 0,
228 ("marker %p already enqueued", marker));
229
230 if (after == NULL)
231 TAILQ_INSERT_HEAD(&pq->pq_pl, marker, plinks.q);
232 else
233 TAILQ_INSERT_AFTER(&pq->pq_pl, after, marker, plinks.q);
234 vm_page_aflag_set(marker, PGA_ENQUEUED);
235
236 vm_batchqueue_init(&ss->bq);
237 ss->pq = pq;
238 ss->marker = marker;
239 ss->maxscan = maxscan;
240 ss->scanned = 0;
241 vm_pagequeue_unlock(pq);
242}
243
244static void
245vm_pageout_end_scan(struct scan_state *ss)

Callers 3

vm_pageout_launderFunction · 0.85
vm_pageout_scan_activeFunction · 0.85
vm_pageout_scan_inactiveFunction · 0.85

Calls 2

vm_page_aflag_setFunction · 0.85
vm_batchqueue_initFunction · 0.85

Tested by

no test coverage detected