Lines Matching refs:pvec
332 pagevec_init(&stash->pvec); in stash_init()
341 if (likely(stash->pvec.nr)) in stash_pop_page()
342 page = stash->pvec.pages[--stash->pvec.nr]; in stash_pop_page()
348 static void stash_push_pagevec(struct pagestash *stash, struct pagevec *pvec) in stash_push_pagevec() argument
354 nr = min_t(typeof(nr), pvec->nr, pagevec_space(&stash->pvec)); in stash_push_pagevec()
355 memcpy(stash->pvec.pages + stash->pvec.nr, in stash_push_pagevec()
356 pvec->pages + pvec->nr - nr, in stash_push_pagevec()
357 sizeof(pvec->pages[0]) * nr); in stash_push_pagevec()
358 stash->pvec.nr += nr; in stash_push_pagevec()
362 pvec->nr -= nr; in stash_push_pagevec()
428 struct pagevec *pvec = &vm->free_pages.pvec; in vm_free_pages_release() local
432 GEM_BUG_ON(!pagevec_count(pvec)); in vm_free_pages_release()
439 stash_push_pagevec(&vm->i915->mm.wc_stash, pvec); in vm_free_pages_release()
447 if (pvec->nr <= (immediate ? 0 : PAGEVEC_SIZE - 1)) in vm_free_pages_release()
455 stack = *pvec; in vm_free_pages_release()
456 pagevec_reinit(pvec); in vm_free_pages_release()
459 pvec = &stack; in vm_free_pages_release()
460 set_pages_array_wb(pvec->pages, pvec->nr); in vm_free_pages_release()
465 __pagevec_release(pvec); in vm_free_pages_release()
479 while (!pagevec_space(&vm->free_pages.pvec)) in vm_free_page()
481 GEM_BUG_ON(pagevec_count(&vm->free_pages.pvec) >= PAGEVEC_SIZE); in vm_free_page()
482 pagevec_add(&vm->free_pages.pvec, page); in vm_free_page()
489 if (pagevec_count(&vm->free_pages.pvec)) in i915_address_space_fini()
491 GEM_BUG_ON(pagevec_count(&vm->free_pages.pvec)); in i915_address_space_fini()
2786 struct pagevec *pvec; in i915_ggtt_driver_release() local
2792 pvec = &i915->mm.wc_stash.pvec; in i915_ggtt_driver_release()
2793 if (pvec->nr) { in i915_ggtt_driver_release()
2794 set_pages_array_wb(pvec->pages, pvec->nr); in i915_ggtt_driver_release()
2795 __pagevec_release(pvec); in i915_ggtt_driver_release()