• Home
  • Raw
  • Download

Lines Matching full:pl

198 	struct page_list *pl;  in alloc_pl()  local
200 pl = kmalloc(sizeof(*pl), gfp); in alloc_pl()
201 if (!pl) in alloc_pl()
204 pl->page = alloc_page(gfp); in alloc_pl()
205 if (!pl->page) { in alloc_pl()
206 kfree(pl); in alloc_pl()
210 return pl; in alloc_pl()
213 static void free_pl(struct page_list *pl) in free_pl() argument
215 __free_page(pl->page); in free_pl()
216 kfree(pl); in free_pl()
223 static void kcopyd_put_pages(struct dm_kcopyd_client *kc, struct page_list *pl) in kcopyd_put_pages() argument
228 next = pl->next; in kcopyd_put_pages()
231 free_pl(pl); in kcopyd_put_pages()
233 pl->next = kc->pages; in kcopyd_put_pages()
234 kc->pages = pl; in kcopyd_put_pages()
238 pl = next; in kcopyd_put_pages()
239 } while (pl); in kcopyd_put_pages()
245 struct page_list *pl; in kcopyd_get_pages() local
250 pl = alloc_pl(__GFP_NOWARN | __GFP_NORETRY | __GFP_KSWAPD_RECLAIM); in kcopyd_get_pages()
251 if (unlikely(!pl)) { in kcopyd_get_pages()
253 pl = kc->pages; in kcopyd_get_pages()
254 if (unlikely(!pl)) in kcopyd_get_pages()
256 kc->pages = pl->next; in kcopyd_get_pages()
259 pl->next = *pages; in kcopyd_get_pages()
260 *pages = pl; in kcopyd_get_pages()
274 static void drop_pages(struct page_list *pl) in drop_pages() argument
278 while (pl) { in drop_pages()
279 next = pl->next; in drop_pages()
280 free_pl(pl); in drop_pages()
281 pl = next; in drop_pages()
291 struct page_list *pl = NULL, *next; in client_reserve_pages() local
296 if (pl) in client_reserve_pages()
297 drop_pages(pl); in client_reserve_pages()
300 next->next = pl; in client_reserve_pages()
301 pl = next; in client_reserve_pages()
305 kcopyd_put_pages(kc, pl); in client_reserve_pages()
539 .mem.ptr.pl = job->pages, in run_io_job()